diff options
author | davidxu <davidxu@FreeBSD.org> | 2005-05-27 15:57:27 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2005-05-27 15:57:27 +0000 |
commit | 5a8d3af0d69b30a593d01746e0b29a2d8e7b18ed (patch) | |
tree | a913e40ac11aa7642e1977dd05fc7727b17a4f13 /sys/kern/subr_sleepqueue.c | |
parent | 8af0c3680927f957286f95f98d498d611ebc5cf0 (diff) | |
download | FreeBSD-src-5a8d3af0d69b30a593d01746e0b29a2d8e7b18ed.zip FreeBSD-src-5a8d3af0d69b30a593d01746e0b29a2d8e7b18ed.tar.gz |
Remove thread_upcall_check, it was used to avoid race bug in earlier
day's sleep queue code, today the bug no longer exists.
please see 04/25/2004 freebsd-threads@ mailing list archive.
Diffstat (limited to 'sys/kern/subr_sleepqueue.c')
-rw-r--r-- | sys/kern/subr_sleepqueue.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/sys/kern/subr_sleepqueue.c b/sys/kern/subr_sleepqueue.c index 6d1f1c2..44a2596 100644 --- a/sys/kern/subr_sleepqueue.c +++ b/sys/kern/subr_sleepqueue.c @@ -345,10 +345,8 @@ sleepq_catch_signals(void *wchan) struct sleepqueue *sq; struct thread *td; struct proc *p; - int do_upcall; int sig; - do_upcall = 0; td = curthread; p = td->td_proc; sc = SC_LOOKUP(wchan); @@ -370,8 +368,6 @@ sleepq_catch_signals(void *wchan) mtx_unlock(&p->p_sigacts->ps_mtx); if (sig == 0 && thread_suspend_check(1)) sig = SIGSTOP; - else - do_upcall = thread_upcall_check(td); PROC_UNLOCK(p); /* @@ -383,7 +379,7 @@ sleepq_catch_signals(void *wchan) sleepq_lock(wchan); sq = sleepq_lookup(wchan); mtx_lock_spin(&sched_lock); - if (TD_ON_SLEEPQ(td) && (sig != 0 || do_upcall != 0)) + if (TD_ON_SLEEPQ(td) && sig != 0) sleepq_resume_thread(sq, td, -1); else if (!TD_ON_SLEEPQ(td) && sig == 0) td->td_flags &= ~TDF_SINTR; |