diff options
author | davidxu <davidxu@FreeBSD.org> | 2005-11-12 04:22:16 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2005-11-12 04:22:16 +0000 |
commit | d5fcf7dfa0f58ea4b805324888bf585f63d966e7 (patch) | |
tree | bc86aa16fb06741e79ba518ddf097cf24509eb2f /sys/kern | |
parent | a942e061a364f3ef0b7328537eefe9b534840102 (diff) | |
download | FreeBSD-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.c | 3 |
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, |