diff options
Diffstat (limited to 'htl/pt-create.c')
-rw-r--r-- | htl/pt-create.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/htl/pt-create.c b/htl/pt-create.c index a6c9ab3..d30c27f 100644 --- a/htl/pt-create.c +++ b/htl/pt-create.c @@ -213,8 +213,11 @@ __pthread_create_internal (struct __pthread **thread, err = __pthread_sigstate (_pthread_self (), 0, 0, &pthread->init_sigset, 0); assert_perror (err); - /* But block the signals for now, until the thread is fully initialized. */ - __sigfillset (&sigset); + if (start_routine) + /* But block the signals for now, until the thread is fully initialized. */ + __sigfillset (&sigset); + else + sigset = pthread->init_sigset; err = __pthread_sigstate (pthread, SIG_SETMASK, &sigset, 0, 1); assert_perror (err); |