aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/sys_timerfd.c
diff options
context:
space:
mode:
authorMateusz Guzik <mjg@FreeBSD.org>2023-09-02 09:55:50 +0000
committerMateusz Guzik <mjg@FreeBSD.org>2023-09-02 09:55:50 +0000
commitf4296cfb409a48de00bfa60e76f686c2b031876f (patch)
tree0cc429e199d2e67c6067f668e277c3033c58b76d /sys/kern/sys_timerfd.c
parent07bc20e4740d09f554c3787bb1940fc503300822 (diff)
downloadsrc-f4296cfb409a48de00bfa60e76f686c2b031876f.tar.gz
src-f4296cfb409a48de00bfa60e76f686c2b031876f.zip
Diffstat (limited to 'sys/kern/sys_timerfd.c')
-rw-r--r--sys/kern/sys_timerfd.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/kern/sys_timerfd.c b/sys/kern/sys_timerfd.c
index c8b45a926b02..e4d2f10f28ef 100644
--- a/sys/kern/sys_timerfd.c
+++ b/sys/kern/sys_timerfd.c
@@ -61,9 +61,9 @@
static MALLOC_DEFINE(M_TIMERFD, "timerfd", "timerfd structures");
-static struct sx timerfd_list_lock;
+static struct mtx timerfd_list_lock;
static LIST_HEAD(, timerfd) timerfd_list;
-SX_SYSINIT(timerfd, &timerfd_list_lock, "timerfd_list_lock");
+MTX_SYSINIT(timerfd, &timerfd_list_lock, "timerfd_list_lock", MTX_DEF);
static struct unrhdr64 tfdino_unr;
@@ -133,7 +133,7 @@ timerfd_jumped(void)
return;
timerfd_getboottime(&boottime);
- sx_xlock(&timerfd_list_lock);
+ mtx_lock(&timerfd_list_lock);
LIST_FOREACH(tfd, &timerfd_list, entry) {
mtx_lock(&tfd->tfd_lock);
if (tfd->tfd_clockid != CLOCK_REALTIME ||
@@ -169,7 +169,7 @@ timerfd_jumped(void)
tfd->tfd_boottim = boottime;
mtx_unlock(&tfd->tfd_lock);
}
- sx_xunlock(&timerfd_list_lock);
+ mtx_unlock(&timerfd_list_lock);
}
static int
@@ -324,9 +324,9 @@ timerfd_close(struct file *fp, struct thread *td)
{
struct timerfd *tfd = fp->f_data;
- sx_xlock(&timerfd_list_lock);
+ mtx_lock(&timerfd_list_lock);
LIST_REMOVE(tfd, entry);
- sx_xunlock(&timerfd_list_lock);
+ mtx_unlock(&timerfd_list_lock);
callout_drain(&tfd->tfd_callout);
seldrain(&tfd->tfd_sel);
@@ -450,9 +450,9 @@ kern_timerfd_create(struct thread *td, int clockid, int flags)
knlist_init_mtx(&tfd->tfd_sel.si_note, &tfd->tfd_lock);
timerfd_getboottime(&tfd->tfd_boottim);
getnanotime(&tfd->tfd_birthtim);
- sx_xlock(&timerfd_list_lock);
+ mtx_lock(&timerfd_list_lock);
LIST_INSERT_HEAD(&timerfd_list, tfd, entry);
- sx_xunlock(&timerfd_list_lock);
+ mtx_unlock(&timerfd_list_lock);
finit(fp, fflags, DTYPE_TIMERFD, tfd, &timerfdops);