mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
*** empty log message ***
(vfprintf): Only call __libc_cleanup_region_end if USE_IN_LIBIO, thus matching the sense of the tests around __libc_cleanup_region_start at the front of the function. * stdio-common/vfscanf.c: Include <libc-lock.h>. (UNLOCK_STREAM) [! USE_IN_LIBIO]: Call __libc_cleanup_region_end, not __libc_cleanup_region_start.
This commit is contained in:
@@ -56,5 +56,19 @@ typedef struct __libc_lock_opaque__ __libc_lock_t;
|
||||
/* Unlock the named lock variable. */
|
||||
#define __libc_lock_unlock(NAME) __mutex_unlock (&(NAME))
|
||||
|
||||
/* Start a critical region with a cleanup function */
|
||||
#define __libc_cleanup_region_start(FCT, ARG) \
|
||||
{ \
|
||||
(typeof FCT) __save_FCT = FCT; \
|
||||
(typeof ARG) __save_ARG = ARG; \
|
||||
/* close brace is in __libc_cleanup_region_end below. */
|
||||
|
||||
/* End a critical region started with __libc_cleanup_region_start. */
|
||||
#define __libc_cleanup_region_end(DOIT) \
|
||||
if (DOIT) \
|
||||
(* __save_FCT)(__save_ARG); \
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif /* libc-lock.h */
|
||||
|
Reference in New Issue
Block a user