Lock access to the signal queue, and related structures, with PROC_LOCK.

Submitted by:	jhb
This commit is contained in:
jmallett 2002-09-30 21:15:33 +00:00
parent f350519764
commit 068343413c

View File

@ -1240,11 +1240,15 @@ nfs_sigintr(struct nfsmount *nmp, struct nfsreq *rep, struct thread *td)
return (0);
p = td->td_proc;
PROC_LOCK(p);
ksiginfo_to_sigset_t(p, &tmpset);
SIGSETNAND(tmpset, p->p_sigmask);
SIGSETNAND(tmpset, p->p_sigignore);
if (signal_queued(p, 0) && NFSINT_SIGMASK(tmpset))
if (signal_queued(p, 0) && NFSINT_SIGMASK(tmpset)) {
PROC_UNLOCK(p);
return (EINTR);
}
PROC_UNLOCK(p);
return (0);
}