summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2005-11-12 04:22:16 +0000
committerdavidxu <davidxu@FreeBSD.org>2005-11-12 04:22:16 +0000
commitd5fcf7dfa0f58ea4b805324888bf585f63d966e7 (patch)
treebc86aa16fb06741e79ba518ddf097cf24509eb2f /sys/kern
parenta942e061a364f3ef0b7328537eefe9b534840102 (diff)
downloadFreeBSD-src-d5fcf7dfa0f58ea4b805324888bf585f63d966e7.zip
FreeBSD-src-d5fcf7dfa0f58ea4b805324888bf585f63d966e7.tar.gz
Make sure only remove one signal by debugger.
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_sig.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index 91712a4..178493c 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -2503,12 +2503,13 @@ issignal(td)
SIGADDSET(td->td_sigmask, sig);
if (sig != newsig) {
+ ksiginfo_t ksi;
/*
* clear old signal.
* XXX shrug off debugger, it causes siginfo to
* be thrown away.
*/
- sigqueue_delete(&td->td_sigqueue, sig);
+ sigqueue_get(&td->td_sigqueue, sig, &ksi);
/*
* If parent wants us to take the signal,
OpenPOWER on IntegriCloud