From: Ulrich Drepper Date: Tue, 23 Aug 2005 14:33:08 +0000 (+0000) Subject: * sysdeps/unix/sysv/linux/Versions: Export Inotify_* syscalls. X-Git-Tag: upstream/2.30~16477 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fd4af66481e49b3dca42ecb0eadf75dbeea09bfc;p=external%2Fglibc.git * sysdeps/unix/sysv/linux/Versions: Export Inotify_* syscalls. --- diff --git a/ChangeLog b/ChangeLog index e0763ab..e484850 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2005-08-23 Ulrich Drepper + + * sysdeps/unix/sysv/linux/Versions: Export Inotify_* syscalls. + 2005-08-22 Jakub Jelinek * stdlib/bits/stdlib.h (mbstowcs): Divide __bos (__dst) by diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 48dd6dc..7d103e6 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,7 @@ +2005-08-23 Ulrich Drepper + + * sysdeps/unix/sysv/linux/timer_routines.c: Don't block SIGSETXID ever. + 2005-07-11 Jakub Jelinek [BZ #1102] diff --git a/nptl/sysdeps/unix/sysv/linux/timer_routines.c b/nptl/sysdeps/unix/sysv/linux/timer_routines.c index 23c800f..e5214e6 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 , 2003. @@ -53,10 +53,14 @@ 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); +#ifdef SIGSETXID + __sigaddset (&ss, SIGSETXID); +#endif /* Endless loop of waiting for signals. The loop is only ended when the thread is canceled. */ @@ -121,14 +125,17 @@ __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. So, we add it 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); diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions index 980724e..b34fd31 100644 --- a/sysdeps/unix/sysv/linux/Versions +++ b/sysdeps/unix/sysv/linux/Versions @@ -115,6 +115,9 @@ libc { GLIBC_2.3.4 { sched_getaffinity; sched_setaffinity; } + GLIBC_2.4 { + inotify_init; inotify_add_watch; inotify_rm_watch; + } GLIBC_PRIVATE { # functions used in other libraries __syscall_rt_sigqueueinfo;