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:
Brian Somers 2006-01-03 15:34:27 +00:00
parent fdd3cfa0aa
commit 6632abc8dc
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=153989
2 changed files with 2 additions and 2 deletions

View file

@ -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;
/*

View file

@ -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;
/*