* include/libio.h [_IO_MTSAFE_IO && _IO_lock_inexpensive]:
	Redefine _IO_flockifle and _IO_funlockfile as inlines.
This commit is contained in:
Ulrich Drepper 2002-12-20 09:33:33 +00:00
parent 676fde70c8
commit 1561bf636d
4 changed files with 21 additions and 0 deletions

View File

@ -1,5 +1,8 @@
2002-12-20 Ulrich Drepper <drepper@redhat.com>
* include/libio.h [_IO_MTSAFE_IO && _IO_lock_inexpensive]:
Redefine _IO_flockifle and _IO_funlockfile as inlines.
* sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): For TLS
builds add "tls" in the search path.
* elf/ldconfig.c (is_hwcap_platform): Also recognize "tls".

View File

@ -10,4 +10,15 @@ libc_hidden_proto (__woverflow)
libc_hidden_proto (__wunderflow)
libc_hidden_proto (__wuflow)
#if defined _IO_MTSAFE_IO && _IO_lock_inexpensive
# undef _IO_flockfile
# define _IO_flockfile(_fp) \
if (((_fp)->_flags & _IO_USER_LOCK) == 0) \
_IO_lock_lock (*(_fp)->_lock)
# undef _IO_funlockfile
# define _IO_funlockfile(_fp) \
if (((_fp)->_flags & _IO_USER_LOCK) == 0) \
_IO_lock_unlock (*(_fp)->_lock)
#endif
#endif

View File

@ -1,3 +1,7 @@
2002-12-20 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/bits/stdio-lock.h (_IO_lock_inexpensive): Define.
2002-12-19 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Don't define

View File

@ -24,6 +24,9 @@
#include <lowlevellock.h>
/* The locking here is very inexpensive, even for inlining. */
#define _IO_lock_inexpensive 1
typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
#define _IO_lock_initializer { LLL_MUTEX_LOCK_INITIALIZER, 0, NULL }