about summary refs log tree commit diff
path: root/nptl/sysdeps/unix/sysv/linux/timer_routines.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-08-24 07:23:32 +0000
committerJakub Jelinek <jakub@redhat.com>2005-08-24 07:23:32 +0000
commit8bf34d8a27ffed48c7a43b7c7347235d389b0946 (patch)
tree36a2efd2a73c3d642829770b47f753e0160dd411 /nptl/sysdeps/unix/sysv/linux/timer_routines.c
parentd2b0f6344275bc3624e47a4d02b67a7e131f6f56 (diff)
downloadglibc-8bf34d8a27ffed48c7a43b7c7347235d389b0946.tar.gz
glibc-8bf34d8a27ffed48c7a43b7c7347235d389b0946.tar.xz
glibc-8bf34d8a27ffed48c7a43b7c7347235d389b0946.zip
Updated to fedora-glibc-20050824T0705
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/timer_routines.c')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/timer_routines.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/timer_routines.c b/nptl/sysdeps/unix/sysv/linux/timer_routines.c
index 23c800f98e..c180b27c96 100644
--- a/nptl/sysdeps/unix/sysv/linux/timer_routines.c
+++ b/nptl/sysdeps/unix/sysv/linux/timer_routines.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
 
@@ -53,10 +53,11 @@ timer_sigev_thread (void *arg)
 static void *
 timer_helper_thread (void *arg)
 {
-  /* Wait for the SIGTIMER signal and none else.  */
+  /* Wait for the SIGTIMER signal, allowing the setXid signal, and
+     none else.  */
   sigset_t ss;
   sigemptyset (&ss);
-  sigaddset (&ss, SIGTIMER);
+  __sigaddset (&ss, SIGTIMER);
 
   /* Endless loop of waiting for signals.  The loop is only ended when
      the thread is canceled.  */
@@ -121,10 +122,11 @@ __start_helper_thread (void)
   (void) pthread_attr_init (&attr);
   (void) pthread_attr_setstacksize (&attr, PTHREAD_STACK_MIN);
 
-  /* Block all signals in the helper thread.  To do this thoroughly we
-     temporarily have to block all signals here.  The helper can lose
-     wakeups if SIGCANCEL is not blocked throughout, but sigfillset omits
-     it.  So, we add it back explicitly here.  */
+  /* Block all signals in the helper thread but SIGSETXID.  To do this
+     thoroughly we temporarily have to block all signals here.  The
+     helper can lose wakeups if SIGCANCEL is not blocked throughout,
+     but sigfillset omits it SIGSETXID.  So, we add SIGCANCEL back
+     explicitly here.  */
   sigset_t ss;
   sigset_t oss;
   sigfillset (&ss);