aboutsummaryrefslogtreecommitdiffstats
path: root/libc/bionic/pthread.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/bionic/pthread.c')
-rw-r--r--libc/bionic/pthread.c52
1 files changed, 0 insertions, 52 deletions
diff --git a/libc/bionic/pthread.c b/libc/bionic/pthread.c
index b685f2dcd..92ee4aa76 100644
--- a/libc/bionic/pthread.c
+++ b/libc/bionic/pthread.c
@@ -2099,58 +2099,6 @@ int pthread_kill(pthread_t tid, int sig)
return ret;
}
-/* Despite the fact that our kernel headers define sigset_t explicitly
- * as a 32-bit integer, the kernel system call really expects a 64-bit
- * bitmap for the signal set, or more exactly an array of two-32-bit
- * values (see $KERNEL/arch/$ARCH/include/asm/signal.h for details).
- *
- * Unfortunately, we cannot fix the sigset_t definition without breaking
- * the C library ABI, so perform a little runtime translation here.
- */
-typedef union {
- sigset_t bionic;
- uint32_t kernel[2];
-} kernel_sigset_t;
-
-/* this is a private syscall stub */
-extern int __rt_sigprocmask(int, const kernel_sigset_t *, kernel_sigset_t *, size_t);
-
-int pthread_sigmask(int how, const sigset_t *set, sigset_t *oset)
-{
- /* pthread_sigmask must return the error code, but the syscall
- * will set errno instead and return 0/-1
- */
- int ret, old_errno = errno;
-
- /* We must convert *set into a kernel_sigset_t */
- kernel_sigset_t in_set, *in_set_ptr;
- kernel_sigset_t out_set;
-
- in_set.kernel[0] = in_set.kernel[1] = 0;
- out_set.kernel[0] = out_set.kernel[1] = 0;
-
- /* 'in_set_ptr' is the second parameter to __rt_sigprocmask. It must be NULL
- * if 'set' is NULL to ensure correct semantics (which in this case would
- * be to ignore 'how' and return the current signal set into 'oset'.
- */
- if (set == NULL) {
- in_set_ptr = NULL;
- } else {
- in_set.bionic = *set;
- in_set_ptr = &in_set;
- }
-
- ret = __rt_sigprocmask(how, in_set_ptr, &out_set, sizeof(kernel_sigset_t));
- if (ret < 0)
- ret = errno;
-
- if (oset)
- *oset = out_set.bionic;
-
- errno = old_errno;
- return ret;
-}
-
int pthread_getcpuclockid(pthread_t tid, clockid_t *clockid)
{