diff options
author | Thomas Bushnell, BSG <thomas@gnu.org> | 1996-09-12 22:22:29 +0000 |
---|---|---|
committer | Thomas Bushnell, BSG <thomas@gnu.org> | 1996-09-12 22:22:29 +0000 |
commit | ae2ddc98c17c17897398c8d960d984789ecab0d9 (patch) | |
tree | 0cc8f727ebaac4445fb9420043c1fcea61c82a24 /sysdeps | |
parent | f33b97f91391579f28d9346967d713345790eaeb (diff) | |
download | glibc-ae2ddc98c17c17897398c8d960d984789ecab0d9.zip glibc-ae2ddc98c17c17897398c8d960d984789ecab0d9.tar.gz glibc-ae2ddc98c17c17897398c8d960d984789ecab0d9.tar.bz2 |
*** 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.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/mach/libc-lock.h | 14 | ||||
-rw-r--r-- | sysdeps/stub/intr-msg.h | 15 |
2 files changed, 29 insertions, 0 deletions
diff --git a/sysdeps/mach/libc-lock.h b/sysdeps/mach/libc-lock.h index 2c39592..ea3d306 100644 --- a/sysdeps/mach/libc-lock.h +++ b/sysdeps/mach/libc-lock.h @@ -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 */ diff --git a/sysdeps/stub/intr-msg.h b/sysdeps/stub/intr-msg.h new file mode 100644 index 0000000..0186aa3 --- /dev/null +++ b/sysdeps/stub/intr-msg.h @@ -0,0 +1,15 @@ +/* Stubby version of intr-msg.h. */ + +/* This file must be written in machine-dependent form for each hurd port. + and define the following: + + INTR_MSG_TRAP + INTR_MSG_BACK_OUT + SYSCALL_EXAMINE + struct mach_msg_trap_args + MSG_EXAMINE + + See sysdeps/mach/hurd/i386/intr-msg.h for an example. */ + + +#error Could not find machine-dependent intr-msg.h file. |