diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-08-24 01:12:37 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-08-24 01:12:37 +0000 |
commit | 8558d715d0dc104832c65f52e14158d0c606f3a1 (patch) | |
tree | 7e5b8bfb7042861669e5b2f8648aa265c4ca325d /nptl | |
parent | 2c210d1eb88d4ab44bfce576b8fbac8e89a946f4 (diff) | |
download | glibc-8558d715d0dc104832c65f52e14158d0c606f3a1.tar.gz glibc-8558d715d0dc104832c65f52e14158d0c606f3a1.tar.xz glibc-8558d715d0dc104832c65f52e14158d0c606f3a1.zip |
* sysdeps/unix/sysv/linux/timer_routines.c (timer_helper_thread):
Use __sigfillset. Document that sigfillset does the right thing wrt to SIGSETXID.
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ChangeLog | 4 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/timer_routines.c | 9 |
2 files changed, 5 insertions, 8 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 7d103e6551..cc28acaac3 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,6 +1,8 @@ 2005-08-23 Ulrich Drepper <drepper@redhat.com> - * sysdeps/unix/sysv/linux/timer_routines.c: Don't block SIGSETXID ever. + * sysdeps/unix/sysv/linux/timer_routines.c (timer_helper_thread): + Use __sigfillset. Document that sigfillset does the right thing wrt + to SIGSETXID. 2005-07-11 Jakub Jelinek <jakub@redhat.com> diff --git a/nptl/sysdeps/unix/sysv/linux/timer_routines.c b/nptl/sysdeps/unix/sysv/linux/timer_routines.c index e5214e605d..c180b27c96 100644 --- a/nptl/sysdeps/unix/sysv/linux/timer_routines.c +++ b/nptl/sysdeps/unix/sysv/linux/timer_routines.c @@ -58,9 +58,6 @@ timer_helper_thread (void *arg) sigset_t ss; sigemptyset (&ss); __sigaddset (&ss, SIGTIMER); -#ifdef SIGSETXID - __sigaddset (&ss, SIGSETXID); -#endif /* Endless loop of waiting for signals. The loop is only ended when the thread is canceled. */ @@ -128,14 +125,12 @@ __start_helper_thread (void) /* 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. So, we add it back explicitly here. */ + but sigfillset omits it SIGSETXID. So, we add SIGCANCEL back + explicitly here. */ sigset_t ss; sigset_t oss; sigfillset (&ss); __sigaddset (&ss, SIGCANCEL); -#ifdef SIGSETXID - __sigdelset (&ss, SIGSETXID); -#endif INTERNAL_SYSCALL_DECL (err); INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_SETMASK, &ss, &oss, _NSIG / 8); |