diff options
author | davidxu <davidxu@FreeBSD.org> | 2003-11-10 03:11:08 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2003-11-10 03:11:08 +0000 |
commit | 5e2cdf1a7836e71db7db362657e0e3a807199b39 (patch) | |
tree | 0c8a570f77ec009ce9474d8871d75bca98b7cc14 | |
parent | 0139b2158b48ea2fa48e215b6266b501b62da914 (diff) | |
download | FreeBSD-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.h | 3 |
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 |