diff options
author | jhb <jhb@FreeBSD.org> | 2003-04-17 22:07:56 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2003-04-17 22:07:56 +0000 |
commit | 5921ce0c8b401aa293223680d0de2e351e37a430 (patch) | |
tree | 726297d820afc1f1d4bb13a8f0c2f27d366006fd | |
parent | 4b2bc05ffe060ee14c939184f48a7998702c17c2 (diff) | |
download | FreeBSD-src-5921ce0c8b401aa293223680d0de2e351e37a430.zip FreeBSD-src-5921ce0c8b401aa293223680d0de2e351e37a430.tar.gz |
Don't hold the proc lock while performing sigset conversions on local
variables.
-rw-r--r-- | sys/compat/linux/linux_signal.c | 2 | ||||
-rw-r--r-- | sys/kern/kern_sig.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/compat/linux/linux_signal.c b/sys/compat/linux/linux_signal.c index 15a818f..b70e99d 100644 --- a/sys/compat/linux/linux_signal.c +++ b/sys/compat/linux/linux_signal.c @@ -396,8 +396,8 @@ linux_sigpending(struct thread *td, struct linux_sigpending_args *args) bset = p->p_siglist; SIGSETOR(bset, td->td_siglist); SIGSETAND(bset, td->td_sigmask); - bsd_to_linux_sigset(&bset, &lset); PROC_UNLOCK(p); + bsd_to_linux_sigset(&bset, &lset); mask = lset.__bits[0]; return (copyout(&mask, args->mask, sizeof(mask))); } diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index c105535..6e2ae50 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -904,8 +904,8 @@ osigpending(td, uap) PROC_LOCK(p); siglist = p->p_siglist; SIGSETOR(siglist, td->td_siglist); - SIG2OSIG(siglist, td->td_retval[0]); PROC_UNLOCK(p); + SIG2OSIG(siglist, td->td_retval[0]); return (0); } #endif /* COMPAT_43 */ |