mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-01 10:06:57 +03:00
hurd: avoid letting signals go to thread created by timer_create
* sysdeps/pthread/timer_routines.c (__timer_thread_start): Block all signals in thread created for runing timers.
This commit is contained in:
@ -463,10 +463,14 @@ int
|
||||
__timer_thread_start (struct thread_node *thread)
|
||||
{
|
||||
int retval = 1;
|
||||
sigset_t set, oset;
|
||||
|
||||
assert (!thread->exists);
|
||||
thread->exists = 1;
|
||||
|
||||
sigfillset (&set);
|
||||
pthread_sigmask (SIG_SETMASK, &set, &oset);
|
||||
|
||||
if (pthread_create (&thread->id, &thread->attr,
|
||||
(void *(*) (void *)) thread_func, thread) != 0)
|
||||
{
|
||||
@ -474,6 +478,8 @@ __timer_thread_start (struct thread_node *thread)
|
||||
retval = -1;
|
||||
}
|
||||
|
||||
pthread_sigmask (SIG_SETMASK, &oset, NULL);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user