diff options
Diffstat (limited to 'linuxthreads')
-rw-r--r-- | linuxthreads/ChangeLog | 4 | ||||
-rw-r--r-- | linuxthreads/sysdeps/pthread/bits/libc-lock.h | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index fb309c7ab9..ef0634d459 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,7 @@ +1998-07-14 19:38 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/pthread/bits/libc-lock.h: Define __libc_cleanup_end. + 1998-07-11 Andreas Jaeger <aj@arthur.rhein-neckar.de> * Examples/ex6.c: Include <unistd.h> for usleep. diff --git a/linuxthreads/sysdeps/pthread/bits/libc-lock.h b/linuxthreads/sysdeps/pthread/bits/libc-lock.h index 7d336bed52..db9a4718d3 100644 --- a/linuxthreads/sysdeps/pthread/bits/libc-lock.h +++ b/linuxthreads/sysdeps/pthread/bits/libc-lock.h @@ -131,6 +131,12 @@ typedef pthread_key_t __libc_key_t; } \ } +/* Sometimes we have to exit the block in the middle. */ +#define __libc_cleanup_end(DOIT) \ + if (_avail) { \ + _pthread_cleanup_pop_restore (&_buffer, (DOIT)); \ + } + /* Create thread-specific key. */ #define __libc_key_create(KEY, DESTRUCTOR) \ (__pthread_key_create != NULL ? __pthread_key_create (KEY, DESTRUCTOR) : 1) |