diff options
author | des <des@FreeBSD.org> | 2004-03-03 23:03:18 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2004-03-03 23:03:18 +0000 |
commit | e6b61c95ada68d1539282488ed4edda94ecb2178 (patch) | |
tree | 2df6121cdb4f2e2b99717e0a156f293245aff5b1 /sys/kern/kern_sig.c | |
parent | dc9237afab67cb8e9f33e870230c689d4c234027 (diff) | |
download | FreeBSD-src-e6b61c95ada68d1539282488ed4edda94ecb2178.zip FreeBSD-src-e6b61c95ada68d1539282488ed4edda94ecb2178.tar.gz |
Use different dummy wait channels to avoid panic in msleep().
Reviewed by: jhb
Diffstat (limited to 'sys/kern/kern_sig.c')
-rw-r--r-- | sys/kern/kern_sig.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index c672290..3ee9eac 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -925,7 +925,7 @@ again: hz = 0; td->td_waitset = &waitset; - error = msleep(ps, &p->p_mtx, PPAUSE|PCATCH, "sigwait", hz); + error = msleep(&ps, &p->p_mtx, PPAUSE|PCATCH, "sigwait", hz); td->td_waitset = NULL; if (error == 0) /* surplus wakeup ? */ error = EINTR; @@ -1153,7 +1153,7 @@ kern_sigsuspend(struct thread *td, sigset_t mask) SIG_CANTMASK(mask); td->td_sigmask = mask; signotify(td); - while (msleep(p->p_sigacts, &p->p_mtx, PPAUSE|PCATCH, "pause", 0) == 0) + while (msleep(&p->p_sigacts, &p->p_mtx, PPAUSE|PCATCH, "pause", 0) == 0) /* void */; PROC_UNLOCK(p); /* always return EINTR rather than ERESTART... */ @@ -1189,7 +1189,7 @@ osigsuspend(td, uap) SIG_CANTMASK(mask); SIGSETLO(td->td_sigmask, mask); signotify(td); - while (msleep(p->p_sigacts, &p->p_mtx, PPAUSE|PCATCH, "opause", 0) == 0) + while (msleep(&p->p_sigacts, &p->p_mtx, PPAUSE|PCATCH, "opause", 0) == 0) /* void */; PROC_UNLOCK(p); /* always return EINTR rather than ERESTART... */ |