diff options
author | jmallett <jmallett@FreeBSD.org> | 2002-10-01 17:15:53 +0000 |
---|---|---|
committer | jmallett <jmallett@FreeBSD.org> | 2002-10-01 17:15:53 +0000 |
commit | 7a693db242641440dad298d332b3cc5a4c88f8f4 (patch) | |
tree | 07d2fcfbfe85d84af8cf79f8fec57733afa19e18 /sys/fs/coda/coda_psdev.c | |
parent | b5dfcc0b31407d0d79c551549f16736d600e350a (diff) | |
download | FreeBSD-src-7a693db242641440dad298d332b3cc5a4c88f8f4.zip FreeBSD-src-7a693db242641440dad298d332b3cc5a4c88f8f4.tar.gz |
Back our kernel support for reliable signal queues.
Requested by: rwatson, phk, and many others
Diffstat (limited to 'sys/fs/coda/coda_psdev.c')
-rw-r--r-- | sys/fs/coda/coda_psdev.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/sys/fs/coda/coda_psdev.c b/sys/fs/coda/coda_psdev.c index 19d4703..392012b 100644 --- a/sys/fs/coda/coda_psdev.c +++ b/sys/fs/coda/coda_psdev.c @@ -63,7 +63,6 @@ extern int coda_nc_initialized; /* Set if cache has been initialized */ #include <sys/lock.h> #include <sys/malloc.h> #include <sys/file.h> /* must come after sys/malloc.h */ -#include <sys/ksiginfo.h> #include <sys/mount.h> #include <sys/mutex.h> #include <sys/poll.h> @@ -492,7 +491,6 @@ coda_call(mntinfo, inSize, outSize, buffer) #ifdef CTL_C struct thread *td = curthread; struct proc *p = td->td_proc; - sigset_t pending_set; sigset_t psig_omask; sigset_t tempset; int i; @@ -563,20 +561,18 @@ coda_call(mntinfo, inSize, outSize, buffer) #endif } else { - ksiginfo_to_sigset_t(p, &pending_set); SIGEMPTYSET(tempset); SIGADDSET(tempset, SIGIO); - if (SIGSETEQ(pending_set, tempset)) { + if (SIGSETEQ(p->p_siglist, tempset)) { SIGADDSET(p->p_sigmask, SIGIO); #ifdef CODA_VERBOSE printf("coda_call: tsleep returns %d SIGIO, cnt %d\n", error, i); #endif } else { - ksiginfo_to_sigset_t(p, &pending_set); SIGDELSET(tempset, SIGIO); SIGADDSET(tempset, SIGALRM); - if (SIGSETEQ(pending_set, tempset)) { + if (SIGSETEQ(p->p_siglist, tempset)) { SIGADDSET(p->p_sigmask, SIGALRM); #ifdef CODA_VERBOSE printf("coda_call: tsleep returns %d SIGALRM, cnt %d\n", @@ -588,17 +584,17 @@ coda_call(mntinfo, inSize, outSize, buffer) error, i); #if notyet - tempset = pending_set; + tempset = p->p_siglist; SIGSETNAND(tempset, p->p_sigmask); printf("coda_call: siglist = %p, sigmask = %p, mask %p\n", - pending_set, p->p_sigmask, + p->p_siglist, p->p_sigmask, tempset); break; - SIGSETOR(p->p_sigmask, pending_set); - tempset = pending_set; + SIGSETOR(p->p_sigmask, p->p_siglist); + tempset = p->p_siglist; SIGSETNAND(tempset, p->p_sigmask); printf("coda_call: new mask, siglist = %p, sigmask = %p, mask %p\n", - pending_set, p->p_sigmask, + p->p_siglist, p->p_sigmask, tempset); #endif } |