diff options
author | davidxu <davidxu@FreeBSD.org> | 2003-02-17 14:54:57 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2003-02-17 14:54:57 +0000 |
commit | 6a2061cb8b76a06769bffc230b3573bb93bdb8a8 (patch) | |
tree | 8b7bdfad89d32e87b38e90a1551f30f1c50ca961 /sys | |
parent | 0330c190211959d649ab98e1e3d6a3e2071c6a1e (diff) | |
download | FreeBSD-src-6a2061cb8b76a06769bffc230b3573bb93bdb8a8.zip FreeBSD-src-6a2061cb8b76a06769bffc230b3573bb93bdb8a8.tar.gz |
Further fix PS_NEEDSIGCHK
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/kern_kse.c | 2 | ||||
-rw-r--r-- | sys/kern/kern_thread.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/kern_kse.c b/sys/kern/kern_kse.c index b682320..235e8d8 100644 --- a/sys/kern/kern_kse.c +++ b/sys/kern/kern_kse.c @@ -484,6 +484,8 @@ kse_release(struct thread *td, struct kse_release_args *uap) mtx_lock_spin(&sched_lock); /* Change OURSELF to become an upcall. */ td->td_flags = TDF_UPCALLING; + if (p->p_sflag & PS_NEEDSIGCHK) + td->td_flags |= TDF_ASTPENDING; if ((td->td_upcall->ku_flags & KUF_DOUPCALL) == 0 && (kg->kg_completed == NULL)) { kg->kg_upsleeps++; diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c index b682320..235e8d8 100644 --- a/sys/kern/kern_thread.c +++ b/sys/kern/kern_thread.c @@ -484,6 +484,8 @@ kse_release(struct thread *td, struct kse_release_args *uap) mtx_lock_spin(&sched_lock); /* Change OURSELF to become an upcall. */ td->td_flags = TDF_UPCALLING; + if (p->p_sflag & PS_NEEDSIGCHK) + td->td_flags |= TDF_ASTPENDING; if ((td->td_upcall->ku_flags & KUF_DOUPCALL) == 0 && (kg->kg_completed == NULL)) { kg->kg_upsleeps++; |