aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2025-03-06 00:14:06 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2025-03-06 02:28:35 +0100
commit81c4ec1ca8c5c4030c1784a098091b6308f98595 (patch)
treeabd3f3290400711176afb39e936451ef99c4073d /sysdeps
parent7a185eb9e944553fb5f8ce8491e1f8569f2f4aa0 (diff)
downloadglibc-81c4ec1ca8c5c4030c1784a098091b6308f98595.tar.xz
glibc-81c4ec1ca8c5c4030c1784a098091b6308f98595.zip
htl: Make __pthread_sigmask directly call __sigthreadmask
If no thread was created yet, __pthread_sigstate will not find our ss because self->kernel_thread is still nul, and then change the global sigstate instead of our sigstate! We can directly call __sigthreadmask and skip the (bogus) lookup step.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/mach/hurd/sigthreadmask.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/sigthreadmask.c b/sysdeps/mach/hurd/sigthreadmask.c
index d8e928b2a5..9b4f530e11 100644
--- a/sysdeps/mach/hurd/sigthreadmask.c
+++ b/sysdeps/mach/hurd/sigthreadmask.c
@@ -36,6 +36,8 @@ __sigthreadmask (struct hurd_sigstate *ss, int how,
new = *set;
assert (ss);
+ /* We are not supposed to change the global blocked state */
+ assert (ss != _hurd_global_sigstate);
_hurd_sigstate_lock (ss);