From 73510b7ce5cc818fc411e445decbd8a0cfbe3db3 Mon Sep 17 00:00:00 2001 From: David Xu Date: Mon, 10 Nov 2003 03:11:08 +0000 Subject: [PATCH] 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. --- sys/sys/signalvar.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/sys/signalvar.h b/sys/sys/signalvar.h index a67c3ce7c03..383fa7ea3d1 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