about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/nptl/gai_misc.h12
2 files changed, 11 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index a3e9020bef..216b2c9942 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2014-12-17  Roland McGrath  <roland@hack.frob.com>
 
+	* sysdeps/nptl/gai_misc.h (__gai_start_notify_thread):
+	Use pthread_sigmask rather than INTERNAL_SYSCALL.
+	Use assert_perror to check its return value.
+	(__gai_create_helper_thread): Likewise.
+
 	* inet/if_index.c (__if_freenameindex): Add libc_hidden_def.
 
 	* malloc/malloc.c (alloc_perturb, free_perturb): Remove inline keyword.
diff --git a/sysdeps/nptl/gai_misc.h b/sysdeps/nptl/gai_misc.h
index 942f2b1b7e..49be36694a 100644
--- a/sysdeps/nptl/gai_misc.h
+++ b/sysdeps/nptl/gai_misc.h
@@ -81,8 +81,8 @@ __gai_start_notify_thread (void)
 {
   sigset_t ss;
   sigemptyset (&ss);
-  INTERNAL_SYSCALL_DECL (err);
-  INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_SETMASK, &ss, NULL, _NSIG / 8);
+  int sigerr = pthread_sigmask (SIG_SETMASK, &ss, NULL);
+  assert_perror (sigerr);
 }
 
 extern inline int
@@ -105,14 +105,14 @@ __gai_create_helper_thread (pthread_t *threadp, void *(*tf) (void *),
   sigset_t ss;
   sigset_t oss;
   sigfillset (&ss);
-  INTERNAL_SYSCALL_DECL (err);
-  INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_SETMASK, &ss, &oss, _NSIG / 8);
+  int sigerr = pthread_sigmask (SIG_SETMASK, &ss, &oss);
+  assert_perror (sigerr);
 
   int ret = pthread_create (threadp, &attr, tf, arg);
 
   /* Restore the signal mask.  */
-  INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_SETMASK, &oss, NULL,
-		    _NSIG / 8);
+  sigerr = pthread_sigmask (SIG_SETMASK, &oss, NULL);
+  assert_perror (sigerr);
 
   (void) pthread_attr_destroy (&attr);
   return ret;