From 1fc469088e3c80f03d37b2e6464280799aec0041 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 28 Jan 2003 06:46:50 +0000 Subject: 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. --- nptl/sysdeps/pthread/bits/libc-lock.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'nptl/sysdeps/pthread/bits/libc-lock.h') 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. */ -- cgit v1.2.3