summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2003-11-10 03:11:08 +0000
committerdavidxu <davidxu@FreeBSD.org>2003-11-10 03:11:08 +0000
commit5e2cdf1a7836e71db7db362657e0e3a807199b39 (patch)
tree0c8a570f77ec009ce9474d8871d75bca98b7cc14
parent0139b2158b48ea2fa48e215b6266b501b62da914 (diff)
downloadFreeBSD-src-5e2cdf1a7836e71db7db362657e0e3a807199b39.zip
FreeBSD-src-5e2cdf1a7836e71db7db362657e0e3a807199b39.tar.gz
If a thread masks all its signal, in cursig(), no signal will be exchanged
with debugger, so testing P_TRACED in SIGPENDING is useless. This test also is the culprit which causes lots of 'failed to set signal flags properly for ast()' to be printed on console which is just a false complaint.
-rw-r--r--sys/sys/signalvar.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/sys/signalvar.h b/sys/sys/signalvar.h
index a67c3ce..383fa7e 100644
--- a/sys/sys/signalvar.h
+++ b/sys/sys/signalvar.h
@@ -215,8 +215,7 @@ typedef enum sigtarget_enum { SIGTARGET_P, SIGTARGET_TD } sigtarget_t;
/* Return nonzero if process p has an unmasked pending signal. */
#define SIGPENDING(td) \
(!SIGISEMPTY((td)->td_siglist) && \
- (!sigsetmasked(&(td)->td_siglist, &(td)->td_sigmask) || \
- (td)->td_proc->p_flag & P_TRACED))
+ !sigsetmasked(&(td)->td_siglist, &(td)->td_sigmask))
/*
* Return the value of the pseudo-expression ((*set & ~*mask) != 0). This
OpenPOWER on IntegriCloud