diff options
author | jhb <jhb@FreeBSD.org> | 2001-03-28 11:52:56 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-03-28 11:52:56 +0000 |
commit | 79cf991a6bd845fad54bd6a15892cb5aaf74b223 (patch) | |
tree | 1cee6a483c3c79f058207ee2c66c63c38f2ad20a /sys/kern/kern_kthread.c | |
parent | 673f3af133009642ca79479ec4db4a25a4ea86d6 (diff) | |
download | FreeBSD-src-79cf991a6bd845fad54bd6a15892cb5aaf74b223.zip FreeBSD-src-79cf991a6bd845fad54bd6a15892cb5aaf74b223.tar.gz |
Convert the allproc and proctree locks from lockmgr locks to sx locks.
Diffstat (limited to 'sys/kern/kern_kthread.c')
-rw-r--r-- | sys/kern/kern_kthread.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/kern/kern_kthread.c b/sys/kern/kern_kthread.c index 8dd9cd4..99eb7a4 100644 --- a/sys/kern/kern_kthread.c +++ b/sys/kern/kern_kthread.c @@ -28,11 +28,13 @@ #include <sys/param.h> #include <sys/systm.h> -#include <sys/proc.h> #include <sys/kthread.h> #include <sys/lock.h> +#include <sys/mutex.h> +#include <sys/proc.h> #include <sys/resourcevar.h> #include <sys/signalvar.h> +#include <sys/sx.h> #include <sys/unistd.h> #include <sys/wait.h> @@ -118,11 +120,11 @@ void kthread_exit(int ecode) { - PROCTREE_LOCK(PT_EXCLUSIVE); + sx_xlock(&proctree_lock); PROC_LOCK(curproc); proc_reparent(curproc, initproc); PROC_UNLOCK(curproc); - PROCTREE_LOCK(PT_RELEASE); + sx_xunlock(&proctree_lock); exit1(curproc, W_EXITCODE(ecode, 0)); } |