mirror of
https://git.FreeBSD.org/src.git
synced 2025-02-08 03:03:32 +00:00
Lock proc while accessing p_siglist, p_sigmask and p_sigignore
in nfs_sigintr().
This commit is contained in:
parent
7ae7a6c4f7
commit
1bdd8ae409
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=110922
@ -1239,11 +1239,15 @@ nfs_sigintr(struct nfsmount *nmp, struct nfsreq *rep, struct thread *td)
|
|||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
p = td->td_proc;
|
p = td->td_proc;
|
||||||
|
PROC_LOCK(p);
|
||||||
tmpset = p->p_siglist;
|
tmpset = p->p_siglist;
|
||||||
SIGSETNAND(tmpset, p->p_sigmask);
|
SIGSETNAND(tmpset, p->p_sigmask);
|
||||||
SIGSETNAND(tmpset, p->p_sigignore);
|
SIGSETNAND(tmpset, p->p_sigignore);
|
||||||
if (SIGNOTEMPTY(p->p_siglist) && NFSINT_SIGMASK(tmpset))
|
if (SIGNOTEMPTY(p->p_siglist) && NFSINT_SIGMASK(tmpset)) {
|
||||||
|
PROC_UNLOCK(p);
|
||||||
return (EINTR);
|
return (EINTR);
|
||||||
|
}
|
||||||
|
PROC_UNLOCK(p);
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user