mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-18 22:33:39 +00:00
All uses of p_siglist are protected by the proc lock now, so there's
no need to acquire Giant in sigpending() anymore.
This commit is contained in:
parent
1bdd8ae409
commit
48e8f774cb
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=110923
|
@ -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 */
|
||||
|
|
Loading…
Reference in a new issue