summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_sleepqueue.c
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2005-05-27 15:57:27 +0000
committerdavidxu <davidxu@FreeBSD.org>2005-05-27 15:57:27 +0000
commit5a8d3af0d69b30a593d01746e0b29a2d8e7b18ed (patch)
treea913e40ac11aa7642e1977dd05fc7727b17a4f13 /sys/kern/subr_sleepqueue.c
parent8af0c3680927f957286f95f98d498d611ebc5cf0 (diff)
downloadFreeBSD-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.c6
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;
OpenPOWER on IntegriCloud