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.
This commit is contained in:
parent
0139b2158b
commit
5e2cdf1a78
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user