From 3f56243af428c05ce6c17d639378d0c17702a61c Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 20 Jul 2003 19:28:08 +0000 Subject: [PATCH] Update. * sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ZERO): Fix typo. --- ChangeLog | 2 ++ linuxthreads/ChangeLog | 7 +++++++ linuxthreads/sysdeps/pthread/bits/libc-lock.h | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/ChangeLog b/ChangeLog index a85895f..c773083 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,8 @@ 2003-07-19 Ulrich Drepper + * sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ZERO): Fix typo. + * sysdeps/unix/sysv/linux/syscalls.list: Remove affinity syscalls. 2003-07-16 Daniel Jacobowitz diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 9cd3e94..128cb1f 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,10 @@ +2003-07-20 Ulrich Drepper + + * sysdeps/pthread/bits/libc-lock.h: Define __libc_cleanup_push and + __libc_cleanup_pop. + + * tst-cancel-wrappers.sh: lseek and llseek are no cancellation points. + 2003-07-14 Ulrich Drepper * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Fix typo diff --git a/linuxthreads/sysdeps/pthread/bits/libc-lock.h b/linuxthreads/sysdeps/pthread/bits/libc-lock.h index a9a98c5..2697a18 100644 --- a/linuxthreads/sysdeps/pthread/bits/libc-lock.h +++ b/linuxthreads/sysdeps/pthread/bits/libc-lock.h @@ -250,6 +250,20 @@ typedef pthread_key_t __libc_key_t; _pthread_cleanup_pop_restore (&_buffer, (DOIT)); \ } +#define __libc_cleanup_push(fct, arg) \ + { struct _pthread_cleanup_buffer _buffer; \ + int _avail = _pthread_cleanup_push != NULL; \ + if (_avail) { \ + _pthread_cleanup_push (&_buffer, (fct), (arg)); \ + } + +#define __libc_cleanup_pop(execute) \ + if (_avail) { \ + _pthread_cleanup_pop (&_buffer, execute); \ + } \ + } + + /* Create thread-specific key. */ #define __libc_key_create(KEY, DESTRUCTOR) \ (__libc_maybe_call (__pthread_key_create, (KEY, DESTRUCTOR), 1)) @@ -352,6 +366,8 @@ weak_extern (BP_SYM (__pthread_getspecific)) weak_extern (BP_SYM (__pthread_once)) weak_extern (__pthread_initialize) weak_extern (__pthread_atfork) +weak_extern (BP_SYM (_pthread_cleanup_push)) +weak_extern (BP_SYM (_pthread_cleanup_pop)) weak_extern (BP_SYM (_pthread_cleanup_push_defer)) weak_extern (BP_SYM (_pthread_cleanup_pop_restore)) # else @@ -377,6 +393,8 @@ weak_extern (BP_SYM (_pthread_cleanup_pop_restore)) # pragma weak __pthread_atfork # pragma weak _pthread_cleanup_push_defer # pragma weak _pthread_cleanup_pop_restore +# pragma weak _pthread_cleanup_push +# pragma weak _pthread_cleanup_pop # endif #endif -- 2.7.4