Enable check for pending signals after calling a signal handler.
Restoration of a threads signal mask after invocation of a signal handler may allow pending signals to become deliverable. PR: 23647
This commit is contained in:
parent
6534e32f7d
commit
3ca85b60ef
@ -90,6 +90,9 @@ _thread_kern_sched_frame(struct pthread_signal_frame *psf)
|
||||
/* Restore the signal frame: */
|
||||
_thread_sigframe_restore(_thread_run, psf);
|
||||
|
||||
/* The signal mask was restored; check for any pending signals: */
|
||||
_thread_run->check_pending = 1;
|
||||
|
||||
/* Switch to the thread scheduler: */
|
||||
___longjmp(_thread_kern_sched_jb, 1);
|
||||
}
|
||||
|
@ -90,6 +90,9 @@ _thread_kern_sched_frame(struct pthread_signal_frame *psf)
|
||||
/* Restore the signal frame: */
|
||||
_thread_sigframe_restore(_thread_run, psf);
|
||||
|
||||
/* The signal mask was restored; check for any pending signals: */
|
||||
_thread_run->check_pending = 1;
|
||||
|
||||
/* Switch to the thread scheduler: */
|
||||
___longjmp(_thread_kern_sched_jb, 1);
|
||||
}
|
||||
|
@ -90,6 +90,9 @@ _thread_kern_sched_frame(struct pthread_signal_frame *psf)
|
||||
/* Restore the signal frame: */
|
||||
_thread_sigframe_restore(_thread_run, psf);
|
||||
|
||||
/* The signal mask was restored; check for any pending signals: */
|
||||
_thread_run->check_pending = 1;
|
||||
|
||||
/* Switch to the thread scheduler: */
|
||||
___longjmp(_thread_kern_sched_jb, 1);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user