diff options
Diffstat (limited to 'linuxthreads/sysdeps/pthread/bits/libc-lock.h')
-rw-r--r-- | linuxthreads/sysdeps/pthread/bits/libc-lock.h | 6 |
1 files changed, 6 insertions, 0 deletions
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) |