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/compat | |
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/compat')
-rw-r--r-- | sys/compat/linprocfs/linprocfs.c | 2 | ||||
-rw-r--r-- | sys/compat/linux/linux_misc.c | 3 | ||||
-rw-r--r-- | sys/compat/linux/linux_signal.c | 3 | ||||
-rw-r--r-- | sys/compat/svr4/svr4_filio.c | 3 | ||||
-rw-r--r-- | sys/compat/svr4/svr4_signal.c | 2 |
5 files changed, 4 insertions, 9 deletions
diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c index af542b4..d0db293 100644 --- a/sys/compat/linprocfs/linprocfs.c +++ b/sys/compat/linprocfs/linprocfs.c @@ -651,7 +651,7 @@ linprocfs_doprocstatus(PFS_FILL_ARGS) * running on anything but i386, so ignore that for now. */ PROC_LOCK(p); - sbuf_printf(sb, "SigPnd:\t%08x\n", 0); /* XXX */ + sbuf_printf(sb, "SigPnd:\t%08x\n", p->p_siglist.__bits[0]); /* * I can't seem to find out where the signal mask is in * relation to struct proc, so SigBlk is left unimplemented. diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index d344548..16c8677 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -36,7 +36,6 @@ #include <sys/imgact_aout.h> #include <sys/jail.h> #include <sys/kernel.h> -#include <sys/ksiginfo.h> #include <sys/lock.h> #include <sys/mac.h> #include <sys/malloc.h> @@ -833,7 +832,7 @@ linux_wait4(struct thread *td, struct linux_wait4_args *args) if ((error = wait4(td, &tmp)) != 0) return error; - signal_delete(td->td_proc, NULL, SIGCHLD); + SIGDELSET(td->td_proc->p_siglist, SIGCHLD); if (args->status) { if ((error = copyin((caddr_t)args->status, &tmpstat, diff --git a/sys/compat/linux/linux_signal.c b/sys/compat/linux/linux_signal.c index d264db5..532fb81 100644 --- a/sys/compat/linux/linux_signal.c +++ b/sys/compat/linux/linux_signal.c @@ -34,7 +34,6 @@ #include <sys/mutex.h> #include <sys/proc.h> #include <sys/signalvar.h> -#include <sys/ksiginfo.h> #include <sys/syscallsubr.h> #include <sys/sysproto.h> @@ -391,7 +390,7 @@ linux_sigpending(struct thread *td, struct linux_sigpending_args *args) #endif PROC_LOCK(p); - ksiginfo_to_sigset_t(p, &bset); + bset = p->p_siglist; SIGSETAND(bset, p->p_sigmask); bsd_to_linux_sigset(&bset, &lset); PROC_UNLOCK(p); diff --git a/sys/compat/svr4/svr4_filio.c b/sys/compat/svr4/svr4_filio.c index 8dc1b4d..c2bad1d 100644 --- a/sys/compat/svr4/svr4_filio.c +++ b/sys/compat/svr4/svr4_filio.c @@ -39,7 +39,6 @@ #include <sys/poll.h> #include <sys/malloc.h> #include <sys/mutex.h> -#include <sys/ksiginfo.h> #include <sys/sysproto.h> @@ -136,9 +135,7 @@ svr4_sys_read(td, uap) DPRINTF(("sigmask = 0x%x\n", td->td_proc->p_sigmask)); DPRINTF(("sigignore = 0x%x\n", td->td_proc->p_sigignore)); DPRINTF(("sigcaught = 0x%x\n", td->td_proc->p_sigcatch)); -#if 0 /* XXX - use ksiginfo_to_sigset_t ? */ DPRINTF(("siglist = 0x%x\n", td->td_proc->p_siglist)); -#endif } #if defined(GROTTY_READ_HACK) diff --git a/sys/compat/svr4/svr4_signal.c b/sys/compat/svr4/svr4_signal.c index 1c78b53..fea5317 100644 --- a/sys/compat/svr4/svr4_signal.c +++ b/sys/compat/svr4/svr4_signal.c @@ -565,7 +565,7 @@ svr4_sys_sigpending(td, uap) if (SCARG(uap, mask) == NULL) return 0; PROC_LOCK(td->td_proc); - ksiginfo_to_sigset_t(td->td_proc, &bss); + bss = td->td_proc->p_siglist; SIGSETAND(bss, td->td_proc->p_sigmask); PROC_UNLOCK(td->td_proc); bsd_to_svr4_sigset(&bss, &sss); |