summaryrefslogtreecommitdiff
path: root/tests/pthread_sigmask.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pthread_sigmask.c')
-rw-r--r--tests/pthread_sigmask.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/tests/pthread_sigmask.c b/tests/pthread_sigmask.c
index 3b6e6e45..0d0a5c21 100644
--- a/tests/pthread_sigmask.c
+++ b/tests/pthread_sigmask.c
@@ -1,5 +1,5 @@
/* POSIX compatible signal blocking for threads.
- Copyright (C) 2011-2024 Free Software Foundation, Inc.
+ Copyright (C) 2011-2025 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -26,10 +26,6 @@
# include <string.h>
#endif
-#if PTHREAD_SIGMASK_UNBLOCK_BUG
-# include <unistd.h>
-#endif
-
int
pthread_sigmask (int how, const sigset_t *new_mask, sigset_t *old_mask)
#undef pthread_sigmask
@@ -58,7 +54,7 @@ pthread_sigmask (int how, const sigset_t *new_mask, sigset_t *old_mask)
Don't cache the information: libpthread.so could be dynamically
loaded after the program started and after pthread_sigmask was
called for the first time. */
- if (memcmp (&omask_copy, &omask, sizeof omask) == 0
+ if (memeq (&omask_copy, &omask, sizeof omask)
&& pthread_sigmask (1729, &omask_copy, NULL) == 0)
{
/* pthread_sigmask is currently ineffective. The program is not
@@ -74,16 +70,6 @@ pthread_sigmask (int how, const sigset_t *new_mask, sigset_t *old_mask)
if (ret == -1)
return errno;
# endif
-# if PTHREAD_SIGMASK_UNBLOCK_BUG
- if (ret == 0
- && new_mask != NULL
- && (how == SIG_UNBLOCK || how == SIG_SETMASK))
- {
- /* Give the OS the opportunity to raise signals that were pending before
- the pthread_sigmask call and have now been unblocked. */
- usleep (1);
- }
-# endif
return ret;
#else
int ret = sigprocmask (how, new_mask, old_mask);