summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_sig.c
diff options
context:
space:
mode:
authormini <mini@FreeBSD.org>2002-09-16 19:26:48 +0000
committermini <mini@FreeBSD.org>2002-09-16 19:26:48 +0000
commit94ac5d965f6dd6ceff971a557f94ebb21964eb16 (patch)
tree09197457aee9cb1034d0af122f395a7002dbabc2 /sys/kern/kern_sig.c
parent5375a15c910d0210dbf79d04fceb3ab24a2c9422 (diff)
downloadFreeBSD-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.c3
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);
}
}
OpenPOWER on IntegriCloud