summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_trap.c
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2003-06-15 12:51:26 +0000
committerdavidxu <davidxu@FreeBSD.org>2003-06-15 12:51:26 +0000
commit1d77a8e0f63f072eb89849c144f4a9579a42eba3 (patch)
tree91c2a2f58f68f40340a70c63e65f3f26d8ed95e3 /sys/kern/subr_trap.c
parent771182b0e8227d93c9d8b891a090f188148ecba5 (diff)
downloadFreeBSD-src-1d77a8e0f63f072eb89849c144f4a9579a42eba3.zip
FreeBSD-src-1d77a8e0f63f072eb89849c144f4a9579a42eba3.tar.gz
1. Add code to support bound thread. when blocked, a bound thread never
schedules an upcall. Signal delivering to a bound thread is same as non-threaded process. This is intended to be used by libpthread to implement PTHREAD_SCOPE_SYSTEM thread. 2. Simplify kse_release() a bit, remove sleep loop.
Diffstat (limited to 'sys/kern/subr_trap.c')
-rw-r--r--sys/kern/subr_trap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c
index 396afa7..b2262de 100644
--- a/sys/kern/subr_trap.c
+++ b/sys/kern/subr_trap.c
@@ -254,7 +254,7 @@ ast(struct trapframe *framep)
}
mtx_unlock(&p->p_sigacts->ps_mtx);
PROC_UNLOCK(p);
- if (p->p_flag & P_SA && sigs) {
+ if ((td->td_flags & TDF_SA) && sigs) {
struct kse_upcall *ku = td->td_upcall;
if ((void *)TRAPF_PC(framep) != ku->ku_func) {
mtx_lock_spin(&sched_lock);
OpenPOWER on IntegriCloud