mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-03 00:10:10 +00:00
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.
This commit is contained in:
parent
68ff8426c6
commit
1fc469088e
@ -1,5 +1,12 @@
|
|||||||
2003-01-27 Ulrich Drepper <drepper@redhat.com>
|
2003-01-27 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c
|
* sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c
|
||||||
(__fe_nomask_env): Use __prctl not prctl.
|
(__fe_nomask_env): Use __prctl not prctl.
|
||||||
* sysdeps/unix/sysv/linux/syscalls.list: Add __prctl alias for
|
* sysdeps/unix/sysv/linux/syscalls.list: Add __prctl alias for
|
||||||
|
@ -348,12 +348,17 @@ typedef pthread_key_t __libc_key_t;
|
|||||||
/* Start critical region with cleanup. */
|
/* Start critical region with cleanup. */
|
||||||
#define __libc_cleanup_region_start(DOIT, FCT, ARG) \
|
#define __libc_cleanup_region_start(DOIT, FCT, ARG) \
|
||||||
{ struct _pthread_cleanup_buffer _buffer; \
|
{ struct _pthread_cleanup_buffer _buffer; \
|
||||||
int _avail = PTF(_pthread_cleanup_push_defer) != NULL; \
|
int _avail; \
|
||||||
|
if (DOIT) { \
|
||||||
|
_avail = PTF(_pthread_cleanup_push_defer) != NULL; \
|
||||||
if (_avail) { \
|
if (_avail) { \
|
||||||
PTF(_pthread_cleanup_push_defer) (&_buffer, FCT, ARG); \
|
PTF(_pthread_cleanup_push_defer) (&_buffer, FCT, ARG); \
|
||||||
} else if (DOIT) { \
|
} else { \
|
||||||
_buffer.__routine = (FCT); \
|
_buffer.__routine = (FCT); \
|
||||||
_buffer.__arg = (ARG); \
|
_buffer.__arg = (ARG); \
|
||||||
|
} \
|
||||||
|
} else { \
|
||||||
|
_avail = 0; \
|
||||||
}
|
}
|
||||||
|
|
||||||
/* End critical region with cleanup. */
|
/* End critical region with cleanup. */
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1991-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
/* Copyright (C) 1991-2002, 2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -1307,7 +1307,7 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
|
|||||||
|
|
||||||
/* Lock stream. */
|
/* Lock stream. */
|
||||||
#ifdef USE_IN_LIBIO
|
#ifdef USE_IN_LIBIO
|
||||||
__libc_cleanup_region_start (1, (void (*) (void *)) &_IO_funlockfile, s);
|
_IO_cleanup_region_start ((void (*) (void *)) &_IO_funlockfile, s);
|
||||||
_IO_flockfile (s);
|
_IO_flockfile (s);
|
||||||
#else
|
#else
|
||||||
__libc_cleanup_region_start (1, (void (*) (void *)) &__funlockfile, s);
|
__libc_cleanup_region_start (1, (void (*) (void *)) &__funlockfile, s);
|
||||||
@ -1909,10 +1909,11 @@ all_done:
|
|||||||
/* Unlock the stream. */
|
/* Unlock the stream. */
|
||||||
#ifdef USE_IN_LIBIO
|
#ifdef USE_IN_LIBIO
|
||||||
_IO_funlockfile (s);
|
_IO_funlockfile (s);
|
||||||
|
_IO_cleanup_region_end (0);
|
||||||
#else
|
#else
|
||||||
__funlockfile (s);
|
__funlockfile (s);
|
||||||
#endif
|
|
||||||
__libc_cleanup_region_end (0);
|
__libc_cleanup_region_end (0);
|
||||||
|
#endif
|
||||||
|
|
||||||
return done;
|
return done;
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
static void cancel_handler (void *arg);
|
static void cancel_handler (void *arg);
|
||||||
|
|
||||||
#define CLEANUP_HANDLER \
|
#define CLEANUP_HANDLER \
|
||||||
__libc_cleanup_region_start (0, cancel_handler, &pid)
|
__libc_cleanup_region_start (1, cancel_handler, &pid)
|
||||||
|
|
||||||
#define CLEANUP_RESET \
|
#define CLEANUP_RESET \
|
||||||
__libc_cleanup_region_end (0)
|
__libc_cleanup_region_end (0)
|
||||||
|
Loading…
Reference in New Issue
Block a user