nxsig_tcbdispatch: unblock task in case of CONFIG_LIB_SYSCALL
Otherwise, long-sleeping system calls using nxsig_timedwait are not actually interrupted. Tested with "ntpcstop" using lm3s6965-ek:qemu-protected config.
This commit is contained in:
parent
e598d81543
commit
c3e27568de
@ -345,7 +345,8 @@ int nxsig_tcbdispatch(FAR struct tcb_s *stcb, siginfo_t *info)
|
|||||||
|
|
||||||
flags = enter_critical_section();
|
flags = enter_critical_section();
|
||||||
if (stcb->task_state == TSTATE_WAIT_SIG &&
|
if (stcb->task_state == TSTATE_WAIT_SIG &&
|
||||||
nxsig_ismember(&stcb->sigwaitmask, info->si_signo))
|
(masked == 0 ||
|
||||||
|
nxsig_ismember(&stcb->sigwaitmask, info->si_signo)))
|
||||||
{
|
{
|
||||||
memcpy(&stcb->sigunbinfo, info, sizeof(siginfo_t));
|
memcpy(&stcb->sigunbinfo, info, sizeof(siginfo_t));
|
||||||
stcb->sigwaitmask = NULL_SIGNAL_SET;
|
stcb->sigwaitmask = NULL_SIGNAL_SET;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user