Don't wake up the thread after the signal handler
has been executed. On return from the signal handler the call will either be restarted or EINTR will be returned, but it will not go back to its previous state. So, it is sufficient to simply change the state to 'running' without actually trying to wake up the thread.
This commit is contained in:
parent
f4c2aae420
commit
8c18819a81
@ -177,6 +177,6 @@ _thread_sig_wrapper(int sig, siginfo_t *info, void *context)
|
||||
/* Restore the thread's flags, and make it runnable */
|
||||
_thread_critical_enter(curthread);
|
||||
curthread->flags = psd.psd_flags;
|
||||
PTHREAD_NEW_STATE(curthread, PS_RUNNING);
|
||||
PTHREAD_SET_STATE(curthread, PS_RUNNING);
|
||||
_thread_critical_exit(curthread);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user