diff options
author | mini <mini@FreeBSD.org> | 2002-09-16 19:26:48 +0000 |
---|---|---|
committer | mini <mini@FreeBSD.org> | 2002-09-16 19:26:48 +0000 |
commit | 94ac5d965f6dd6ceff971a557f94ebb21964eb16 (patch) | |
tree | 09197457aee9cb1034d0af122f395a7002dbabc2 /sys/kern/kern_sig.c | |
parent | 5375a15c910d0210dbf79d04fceb3ab24a2c9422 (diff) | |
download | FreeBSD-src-94ac5d965f6dd6ceff971a557f94ebb21964eb16.zip FreeBSD-src-94ac5d965f6dd6ceff971a557f94ebb21964eb16.tar.gz |
Add kernel support needed for the KSE-aware libpthread:
- Use ucontext_t's to store KSE thread state.
- Synthesize state for the UTS upon each upcall, rather than
saving and copying a trapframe.
- Deliver signals to KSE-aware processes via upcall.
- Rename kse mailbox structure fields to be more BSD-like.
- Store the UTS's stack in struct proc in a stack_t.
Reviewed by: bde, deischen, julian
Approved by: -arch
Diffstat (limited to 'sys/kern/kern_sig.c')
-rw-r--r-- | sys/kern/kern_sig.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 7b51b68..0b134b1 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -1860,6 +1860,9 @@ postsig(sig) p->p_code = 0; p->p_sig = 0; } + if (p->p_flag & P_KSES) + if (signal_upcall(p, sig)) + return; (*p->p_sysent->sv_sendsig)(action, sig, &returnmask, code); } } |