mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-01 13:17:19 +08:00
* sysdeps/unix/sysv/linux/timer_routines.c (timer_helper_thread):
Use __sigfillset. Document that sigfillset does the right thing wrt to SIGSETXID.
This commit is contained in:
parent
2c210d1eb8
commit
8558d715d0
nptl
@ -1,6 +1,8 @@
|
|||||||
2005-08-23 Ulrich Drepper <drepper@redhat.com>
|
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>
|
2005-07-11 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
@ -58,9 +58,6 @@ timer_helper_thread (void *arg)
|
|||||||
sigset_t ss;
|
sigset_t ss;
|
||||||
sigemptyset (&ss);
|
sigemptyset (&ss);
|
||||||
__sigaddset (&ss, SIGTIMER);
|
__sigaddset (&ss, SIGTIMER);
|
||||||
#ifdef SIGSETXID
|
|
||||||
__sigaddset (&ss, SIGSETXID);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Endless loop of waiting for signals. The loop is only ended when
|
/* Endless loop of waiting for signals. The loop is only ended when
|
||||||
the thread is canceled. */
|
the thread is canceled. */
|
||||||
@ -128,14 +125,12 @@ __start_helper_thread (void)
|
|||||||
/* Block all signals in the helper thread but SIGSETXID. To do this
|
/* Block all signals in the helper thread but SIGSETXID. To do this
|
||||||
thoroughly we temporarily have to block all signals here. The
|
thoroughly we temporarily have to block all signals here. The
|
||||||
helper can lose wakeups if SIGCANCEL is not blocked throughout,
|
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 ss;
|
||||||
sigset_t oss;
|
sigset_t oss;
|
||||||
sigfillset (&ss);
|
sigfillset (&ss);
|
||||||
__sigaddset (&ss, SIGCANCEL);
|
__sigaddset (&ss, SIGCANCEL);
|
||||||
#ifdef SIGSETXID
|
|
||||||
__sigdelset (&ss, SIGSETXID);
|
|
||||||
#endif
|
|
||||||
INTERNAL_SYSCALL_DECL (err);
|
INTERNAL_SYSCALL_DECL (err);
|
||||||
INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_SETMASK, &ss, &oss, _NSIG / 8);
|
INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_SETMASK, &ss, &oss, _NSIG / 8);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user