diff options
author | ups <ups@FreeBSD.org> | 2005-05-23 23:01:53 +0000 |
---|---|---|
committer | ups <ups@FreeBSD.org> | 2005-05-23 23:01:53 +0000 |
commit | acfce18a2af057f945e45381ea2bc73622629c39 (patch) | |
tree | 0854fe6da58795b42d05ee82407cc8db7a5d0ca3 /sys/kern/kern_exit.c | |
parent | d8a59510c5b18aa8c2da8bfd45fa2021257d94fb (diff) | |
download | FreeBSD-src-acfce18a2af057f945e45381ea2bc73622629c39.zip FreeBSD-src-acfce18a2af057f945e45381ea2bc73622629c39.tar.gz |
Use low level constructs borrowed from interrupt threads to wait for
work in proc0.
Remove the TDP_WAKEPROC0 workaround.
Diffstat (limited to 'sys/kern/kern_exit.c')
-rw-r--r-- | sys/kern/kern_exit.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index d680499..898bc3e 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -503,15 +503,7 @@ retry: critical_enter(); mtx_unlock_spin(&sched_lock); wakeup(p->p_pptr); - /* - * XXX hack, swap in parent process, please see TDP_WAKEPROC0 - * code, because TDP_WAKEPROC0 is only useful if thread is - * leaving critical region, but here we never leave and - * thread_exit() will call cpu_throw(), TDP_WAKEPROC0 is never - * cleared. - */ - if (p->p_pptr->p_sflag & PS_SWAPINREQ) - wakeup(&proc0); + PROC_UNLOCK(p->p_pptr); mtx_lock_spin(&sched_lock); critical_exit(); |