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
98f89aa0a9
commit
d73eb8c8ca
@ -90,6 +90,9 @@ _thread_kern_sched_frame(struct pthread_signal_frame *psf)
|
|||||||
/* Restore the signal frame: */
|
/* Restore the signal frame: */
|
||||||
_thread_sigframe_restore(_thread_run, psf);
|
_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: */
|
/* Switch to the thread scheduler: */
|
||||||
___longjmp(_thread_kern_sched_jb, 1);
|
___longjmp(_thread_kern_sched_jb, 1);
|
||||||
}
|
}
|
||||||
|
@ -90,6 +90,9 @@ _thread_kern_sched_frame(struct pthread_signal_frame *psf)
|
|||||||
/* Restore the signal frame: */
|
/* Restore the signal frame: */
|
||||||
_thread_sigframe_restore(_thread_run, psf);
|
_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: */
|
/* Switch to the thread scheduler: */
|
||||||
___longjmp(_thread_kern_sched_jb, 1);
|
___longjmp(_thread_kern_sched_jb, 1);
|
||||||
}
|
}
|
||||||
|
@ -90,6 +90,9 @@ _thread_kern_sched_frame(struct pthread_signal_frame *psf)
|
|||||||
/* Restore the signal frame: */
|
/* Restore the signal frame: */
|
||||||
_thread_sigframe_restore(_thread_run, psf);
|
_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: */
|
/* Switch to the thread scheduler: */
|
||||||
___longjmp(_thread_kern_sched_jb, 1);
|
___longjmp(_thread_kern_sched_jb, 1);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user