Lock proc while manipulating p_sigmask p_sigignore and p_siglist.

This commit is contained in:
Tim J. Robbins 2003-02-14 09:12:12 +00:00
parent fb30aed1a5
commit fbbad44413
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=110849

View File

@ -75,11 +75,15 @@ smb_proc_intr(struct proc *p)
if (p == NULL)
return 0;
PROC_LOCK(p);
tmpset = p->p_siglist;
SIGSETNAND(tmpset, p->p_sigmask);
SIGSETNAND(tmpset, p->p_sigignore);
if (SIGNOTEMPTY(p->p_siglist) && SMB_SIGMASK(tmpset))
if (SIGNOTEMPTY(p->p_siglist) && SMB_SIGMASK(tmpset)) {
PROC_UNLOCK(p);
return EINTR;
}
PROC_UNLOCK(p);
return 0;
}