summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>2002-08-08 06:18:41 +0000
committerjulian <julian@FreeBSD.org>2002-08-08 06:18:41 +0000
commit77f180ef672e189c01b122b1bea1a933f7f8002b (patch)
tree8bc071079e41fcc288247187ef2eb3ca37977b22 /sys
parent7b52c213d4ff6937252b491d3c09031d45ceabe2 (diff)
downloadFreeBSD-src-77f180ef672e189c01b122b1bea1a933f7f8002b.zip
FreeBSD-src-77f180ef672e189c01b122b1bea1a933f7f8002b.tar.gz
Do some work on keeping better track of stopped/continued state.
I'm not sure what happenned to the original setting of the P_CONTINUED flag. it appears to have been lost in the paper shuffling... Submitted by: David Xu <bsddiy@yahoo.com>
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_sig.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index f63631b..776764a 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -1297,6 +1297,7 @@ psignal(p, sig)
(action == SIG_DFL))
return;
SIG_CONTSIGMASK(p->p_siglist);
+ p->p_flag &= ~P_CONTINUED;
}
SIGADDSET(p->p_siglist, sig);
signotify(p); /* uses schedlock */
@@ -1345,6 +1346,7 @@ psignal(p, sig)
* Otherwise, process goes back to sleep state.
*/
p->p_flag &= ~P_STOPPED_SGNL;
+ p->p_flag |= P_CONTINUED;
if (action == SIG_DFL) {
SIGDELSET(p->p_siglist, sig);
} else if (action == SIG_CATCH) {
OpenPOWER on IntegriCloud