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:
deischen 2000-12-20 16:55:57 +00:00
parent 6534e32f7d
commit 3ca85b60ef
3 changed files with 9 additions and 0 deletions

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}