htl: Fix sigset of main thread

d482ebfa67 ('htl: Keep thread signals blocked during its initialization')
fixed not letting signals get delivered too early during thread creation,
but it also affected the main thread, thus making it block signals by
default.  We need to just let the main thread sigset as it is.
This commit is contained in:
Samuel Thibault 2021-09-26 02:40:26 +02:00
parent 1cc205c510
commit 514638699d

View File

@ -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);