summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_sig.c
diff options
context:
space:
mode:
authortjr <tjr@FreeBSD.org>2003-02-15 08:42:02 +0000
committertjr <tjr@FreeBSD.org>2003-02-15 08:42:02 +0000
commitf12b647e3e256922b3d60256343a0de0f970898a (patch)
treedf16905603787fa7777aa3405645e909400f2a38 /sys/kern/kern_sig.c
parenta7cd813d68630d8fe743b644a3ace7471577eecf (diff)
downloadFreeBSD-src-f12b647e3e256922b3d60256343a0de0f970898a.zip
FreeBSD-src-f12b647e3e256922b3d60256343a0de0f970898a.tar.gz
All uses of p_siglist are protected by the proc lock now, so there's
no need to acquire Giant in sigpending() anymore.
Diffstat (limited to 'sys/kern/kern_sig.c')
-rw-r--r--sys/kern/kern_sig.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index d440256..d22f582 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -695,7 +695,6 @@ struct sigpending_args {
/*
* MPSAFE
*/
-/* ARGSUSED */
int
sigpending(td, uap)
struct thread *td;
@@ -703,15 +702,11 @@ sigpending(td, uap)
{
struct proc *p = td->td_proc;
sigset_t siglist;
- int error;
- mtx_lock(&Giant);
PROC_LOCK(p);
siglist = p->p_siglist;
PROC_UNLOCK(p);
- mtx_unlock(&Giant);
- error = copyout(&siglist, uap->set, sizeof(sigset_t));
- return(error);
+ return (copyout(&siglist, uap->set, sizeof(sigset_t)));
}
#ifdef COMPAT_43 /* XXX - COMPAT_FBSD3 */
OpenPOWER on IntegriCloud