diff options
author | jhb <jhb@FreeBSD.org> | 2002-07-11 22:13:33 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2002-07-11 22:13:33 +0000 |
commit | 30b152864c0ce8638b7e7d22b837cc1838029dbd (patch) | |
tree | f6acd7d338917d8f03f8b0da324b2fc845e411e0 | |
parent | 088603aa7d4a2d4e79919c149f6325bfd66289a8 (diff) | |
download | FreeBSD-src-30b152864c0ce8638b7e7d22b837cc1838029dbd.zip FreeBSD-src-30b152864c0ce8638b7e7d22b837cc1838029dbd.tar.gz |
thread_exit() requires PROC_LOCK to be held, so lock it.
-rw-r--r-- | sys/sparc64/sparc64/trap.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/sparc64/sparc64/trap.c b/sys/sparc64/sparc64/trap.c index 2fe9bb3..66fb141 100644 --- a/sys/sparc64/sparc64/trap.c +++ b/sys/sparc64/sparc64/trap.c @@ -192,8 +192,9 @@ trap(struct trapframe *tf) if (td->td_ucred != p->p_ucred) cred_update_thread(td); if ((p->p_flag & P_WEXIT) && (p->p_singlethread != td)) { + PROC_LOCK(p); mtx_lock_spin(&sched_lock); - thread_exit(); /* XXXKSE need proc lock? */ + thread_exit(); /* NOTREACHED */ } } else { |