Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Update.
	[_IO_MTSAFE_IO] (_IO_flockfile, _IO_funlockfile): Add macros which
	test _IO_USER_LOCK flag first.
  • Loading branch information
Ulrich Drepper committed Sep 1, 2000
1 parent a91d3cd commit a8e58aa
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 2 deletions.
2 changes: 2 additions & 0 deletions ChangeLog
Expand Up @@ -18,6 +18,8 @@
* libio/stdio_ext.h: New file.
* libio/genops.c (_IO_flush_all_linebuffered): Add alias _flushlbf.
* libio/libio.h (_IO_USER_LOCK): Define.
[_IO_MTSAFE_IO] (_IO_flockfile, _IO_funlockfile): Add macros which
test _IO_USER_LOCK flag first.

* iconv/gconv_open.c (__gconv_open): Set res to __GCONV_NOMEM is
malloc fails.
Expand Down
4 changes: 4 additions & 0 deletions libio/libio.h
Expand Up @@ -442,6 +442,10 @@ extern int _IO_ftrylockfile (_IO_FILE *) __THROW;

#ifdef _IO_MTSAFE_IO
# define _IO_peekc(_fp) _IO_peekc_locked (_fp)
# define _IO_flockfile(_fp) \
if (((_fp)->_mode & _IO_USER_LOCK) == 0) _IO_flockfile (_fp)
# define _IO_funlockfile(_fp) \
if (((_fp)->_mode & _IO_USER_LOCK) == 0) _IO_funlockfile (_fp)
#else
# define _IO_peekc(_fp) _IO_peekc_unlocked (_fp)
# define _IO_flockfile(_fp) /**/
Expand Down
5 changes: 5 additions & 0 deletions linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
2000-09-01 Ulrich Drepper <drepper@redhat.com>

* sysdeps/pthread/bits/stdio-lock.h (_IO_cleanup_region_start):
Provide definition which respects _IO_USER_LOCK flag.

2000-08-30 Ulrich Drepper <drepper@redhat.com>

* manager.c (pthread_allocate_stack): Clear descriptor only if not
Expand Down
9 changes: 7 additions & 2 deletions linuxthreads/sysdeps/pthread/bits/stdio-lock.h
@@ -1,5 +1,5 @@
/* Thread package specific definitions of stream lock type.
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
Expand All @@ -26,7 +26,12 @@ typedef pthread_mutex_t _IO_lock_t;


#define _IO_cleanup_region_start(_fct, _fp) \
__libc_cleanup_region_start (_fct, _fp)
{ struct _pthread_cleanup_buffer _buffer; \
int _avail = (((_fp)->_mode & _IO_USER_LOCK) == 0 \
&& _pthread_cleanup_push_defer != NULL); \
if (_avail) { \
_pthread_cleanup_push_defer (&_buffer, (_fct), (_fp)); \
}
#define _IO_cleanup_region_end(_doit) \
__libc_cleanup_region_end (_doit)
#define _IO_lock_init(_name) \
Expand Down

0 comments on commit a8e58aa

Please sign in to comment.