mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-05 08:00:30 +00:00
For the ``#ifdef NOTYET'' code that allows calling non-async-safe
functions in the child after a fork() from a threaded process, use __sys_setprocmask() rather than setprocmask() to keep our signal handling sane. Without this fix, signals are essentially ignored in said child and things such as protection violations result in an endless busy loop. Reviewed by: deischen
This commit is contained in:
parent
fdd3cfa0aa
commit
6632abc8dc
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=153989
|
@ -225,7 +225,7 @@ _kse_single_thread(struct pthread *curthread)
|
|||
* Restore signal mask early, so any memory problems could
|
||||
* dump core.
|
||||
*/
|
||||
sigprocmask(SIG_SETMASK, &curthread->sigmask, NULL);
|
||||
__sys_sigprocmask(SIG_SETMASK, &curthread->sigmask, NULL);
|
||||
_thread_active_threads = 1;
|
||||
|
||||
/*
|
||||
|
|
|
@ -225,7 +225,7 @@ _kse_single_thread(struct pthread *curthread)
|
|||
* Restore signal mask early, so any memory problems could
|
||||
* dump core.
|
||||
*/
|
||||
sigprocmask(SIG_SETMASK, &curthread->sigmask, NULL);
|
||||
__sys_sigprocmask(SIG_SETMASK, &curthread->sigmask, NULL);
|
||||
_thread_active_threads = 1;
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue