diff options
author | John Baldwin <jhb@FreeBSD.org> | 2003-05-13 20:36:02 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2003-05-13 20:36:02 +0000 |
commit | 90af4afacb3d76aba2261a2dba4a1c5f69670a19 (patch) | |
tree | 0e2ba79e40f08e96bb98756b67576ff96caccfbc /sys/netncp | |
parent | 3ecb3802eeb415f4837f7e0af26c584a333018d2 (diff) |
- Merge struct procsig with struct sigacts.
- Move struct sigacts out of the u-area and malloc() it using the
M_SUBPROC malloc bucket.
- Add a small sigacts_*() API for managing sigacts structures: sigacts_alloc(),
sigacts_free(), sigacts_copy(), sigacts_share(), and sigacts_shared().
- Remove the p_sigignore, p_sigacts, and p_sigcatch macros.
- Add a mutex to struct sigacts that protects all the members of the struct.
- Add sigacts locking.
- Remove Giant from nosys(), kill(), killpg(), and kern_sigaction() now
that sigacts is locked.
- Several in-kernel functions such as psignal(), tdsignal(), trapsignal(),
and thread_stopped() are now MP safe.
Reviewed by: arch@
Approved by: re (rwatson)
Notes
Notes:
svn path=/head/; revision=114983
Diffstat (limited to 'sys/netncp')
-rw-r--r-- | sys/netncp/ncp_ncp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netncp/ncp_ncp.c b/sys/netncp/ncp_ncp.c index 0541793c0ff5..1d29afe2b329 100644 --- a/sys/netncp/ncp_ncp.c +++ b/sys/netncp/ncp_ncp.c @@ -88,7 +88,9 @@ ncp_chkintr(struct ncp_conn *conn, struct thread *td) tmpset = p->p_siglist; SIGSETOR(tmpset, td->td_siglist); SIGSETNAND(tmpset, td->td_sigmask); - SIGSETNAND(tmpset, p->p_sigignore); + mtx_lock(&p->p_sigacts->ps_mtx); + SIGSETNAND(tmpset, p->p_sigacts->ps_sigignore); + mtx_unlock(&p->p_sigacts->ps_mtx); if (SIGNOTEMPTY(td->td_siglist) && NCP_SIGMASK(tmpset)) { PROC_UNLOCK(p); return EINTR; |