| Log Message: |
Revert commit 4170, based on advice from Petr Salinger:
While in general it is a correct change, the situation inside library implementing libc/libpthread/librt is slightly different.
linuxthreads/signals.c:
int pthread_sigmask(int how, const sigset_t * newmask, sigset_t * oldmask)
/* Don't allow __pthread_sig_restart to be unmasked.
Don't allow __pthread_sig_cancel to be masked. */
At least inside __start_helper_thread __sigprocmask() should be used, othewise:
kfreebsd/linuxthreads/timer_routines.c:
/* Block all signals in the helper thread but SIGSETXID. To do this
thoroughly we temporarily have to block all signals here. The
helper can lose wakeups if SIGCANCEL is not blocked throughout,
but sigfillset omits it SIGSETXID. So, we add SIGCANCEL back
explicitly here. */
|