aboutsummaryrefslogtreecommitdiff
path: root/nptl/sysdeps/pthread/bits/libc-lock.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-01-28 06:46:50 +0000
committerUlrich Drepper <drepper@redhat.com>2003-01-28 06:46:50 +0000
commit1fc469088e3c80f03d37b2e6464280799aec0041 (patch)
treeaf233516715d805be036364119899ef3113daf6a /nptl/sysdeps/pthread/bits/libc-lock.h
parent68ff8426c6b8cf5dd93f2dd151ab21cb83fa990b (diff)
downloadglibc-1fc469088e3c80f03d37b2e6464280799aec0041.tar
glibc-1fc469088e3c80f03d37b2e6464280799aec0041.tar.gz
glibc-1fc469088e3c80f03d37b2e6464280799aec0041.tar.bz2
glibc-1fc469088e3c80f03d37b2e6464280799aec0041.zip
Update.
* stdio-common/vfprintf.c [USE_IN_LIBIO]: Use _IO_cleanup_region_start instead of __libc_cleanup_region_start and _IO_cleanup_region_end instead of __libc_cleanup_region_end. * sysdeps/unix/sysv/linux/i386/system.c (CLEANUP_HANDLER): Pass 1 as first parameter to __libc_cleanup_region_start.
Diffstat (limited to 'nptl/sysdeps/pthread/bits/libc-lock.h')
-rw-r--r--nptl/sysdeps/pthread/bits/libc-lock.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/nptl/sysdeps/pthread/bits/libc-lock.h b/nptl/sysdeps/pthread/bits/libc-lock.h
index e4b5b802ee..f19281e999 100644
--- a/nptl/sysdeps/pthread/bits/libc-lock.h
+++ b/nptl/sysdeps/pthread/bits/libc-lock.h
@@ -348,12 +348,17 @@ typedef pthread_key_t __libc_key_t;
/* Start critical region with cleanup. */
#define __libc_cleanup_region_start(DOIT, FCT, ARG) \
{ struct _pthread_cleanup_buffer _buffer; \
- int _avail = PTF(_pthread_cleanup_push_defer) != NULL; \
- if (_avail) { \
- PTF(_pthread_cleanup_push_defer) (&_buffer, FCT, ARG); \
- } else if (DOIT) { \
- _buffer.__routine = (FCT); \
- _buffer.__arg = (ARG); \
+ int _avail; \
+ if (DOIT) { \
+ _avail = PTF(_pthread_cleanup_push_defer) != NULL; \
+ if (_avail) { \
+ PTF(_pthread_cleanup_push_defer) (&_buffer, FCT, ARG); \
+ } else { \
+ _buffer.__routine = (FCT); \
+ _buffer.__arg = (ARG); \
+ } \
+ } else { \
+ _avail = 0; \
}
/* End critical region with cleanup. */