diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-11-14 13:06:39 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-11-16 08:11:42 +0100 |
commit | 9c1490aac3d76c815dbbe1be54214fddc0c45373 (patch) | |
tree | 3caa073558f0e62e0df8fe077f880dd4079c4936 /rtemsbsd/rtems/rtems-kernel-mutex.c | |
parent | Fix file descriptor reference counting in accept() (diff) | |
download | rtems-libbsd-9c1490aac3d76c815dbbe1be54214fddc0c45373.tar.bz2 |
LOCKING(9): Update to current FreeBSD version
Diffstat (limited to 'rtemsbsd/rtems/rtems-kernel-mutex.c')
-rw-r--r-- | rtemsbsd/rtems/rtems-kernel-mutex.c | 50 |
1 files changed, 26 insertions, 24 deletions
diff --git a/rtemsbsd/rtems/rtems-kernel-mutex.c b/rtemsbsd/rtems/rtems-kernel-mutex.c index 360536a5..0bb8a43f 100644 --- a/rtemsbsd/rtems/rtems-kernel-mutex.c +++ b/rtemsbsd/rtems/rtems-kernel-mutex.c @@ -48,67 +48,69 @@ #include <sys/proc.h> #include <sys/conf.h> -static void assert_mtx(struct lock_object *lock, int what); -static void lock_mtx(struct lock_object *lock, int how); +static void assert_mtx(const struct lock_object *lock, int what); +static void lock_mtx(struct lock_object *lock, uintptr_t how); #ifdef KDTRACE_HOOKS -static int owner_mtx(struct lock_object *lock, struct thread **owner); +static int owner_mtx(const struct lock_object *lock, + struct thread **owner); #endif -static int unlock_mtx(struct lock_object *lock); +static uintptr_t unlock_mtx(struct lock_object *lock); /* * Lock classes for sleep and spin mutexes. */ struct lock_class lock_class_mtx_sleep = { - .lc_name = "sleep mutex", - .lc_flags = LC_SLEEPLOCK | LC_RECURSABLE, - .lc_assert = assert_mtx, + .lc_name = "sleep mutex", + .lc_flags = LC_SLEEPLOCK | LC_RECURSABLE, + .lc_assert = assert_mtx, #ifdef DDB - .lc_ddb_show = db_show_mtx, + .lc_ddb_show = db_show_mtx, #endif - .lc_lock = lock_mtx, - .lc_unlock = unlock_mtx, + .lc_lock = lock_mtx, + .lc_unlock = unlock_mtx, #ifdef KDTRACE_HOOKS - .lc_owner = owner_mtx, + .lc_owner = owner_mtx, #endif }; struct lock_class lock_class_mtx_spin = { - .lc_name = "spin mutex", - .lc_flags = LC_SPINLOCK | LC_RECURSABLE, - .lc_assert = assert_mtx, + .lc_name = "spin mutex", + .lc_flags = LC_SPINLOCK | LC_RECURSABLE, + .lc_assert = assert_mtx, #ifdef DDB - .lc_ddb_show = db_show_mtx, + .lc_ddb_show = db_show_mtx, #endif - .lc_lock = lock_mtx, - .lc_unlock = unlock_mtx, + .lc_lock = lock_mtx, + .lc_unlock = unlock_mtx, #ifdef KDTRACE_HOOKS - .lc_owner = owner_mtx, + .lc_owner = owner_mtx, #endif }; struct mtx Giant; void -assert_mtx(struct lock_object *lock, int what) +assert_mtx(const struct lock_object *lock, int what) { - mtx_assert((struct mtx *)lock, what); + + mtx_assert((const struct mtx *)lock, what); } void -lock_mtx(struct lock_object *lock, int how) +lock_mtx(struct lock_object *lock, uintptr_t how) { + mtx_lock((struct mtx *)lock); } -int +uintptr_t unlock_mtx(struct lock_object *lock) { - mtx_unlock((struct mtx *)lock); + mtx_unlock((struct mtx *)lock); return (0); } - #ifdef KDTRACE_HOOKS int owner_mtx(struct lock_object *lock, struct thread **owner) |