diff options
author | tjr <tjr@FreeBSD.org> | 2003-02-15 08:42:02 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2003-02-15 08:42:02 +0000 |
commit | f12b647e3e256922b3d60256343a0de0f970898a (patch) | |
tree | df16905603787fa7777aa3405645e909400f2a38 /sys/kern/kern_sig.c | |
parent | a7cd813d68630d8fe743b644a3ace7471577eecf (diff) | |
download | FreeBSD-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.c | 7 |
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 */ |