about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-07-19 17:12:59 +0000
committerUlrich Drepper <drepper@redhat.com>2007-07-19 17:12:59 +0000
commitb257c726a4fe95d3dfb7ecdb3b97bb05fb446465 (patch)
treef80d07f2bbe70337d44a7dbe33201579665d9c13 /nptl
parentd5078b9f6562f0b8f51c7d6d4ddf8f96a6994f1d (diff)
downloadglibc-b257c726a4fe95d3dfb7ecdb3b97bb05fb446465.tar.gz
glibc-b257c726a4fe95d3dfb7ecdb3b97bb05fb446465.tar.xz
glibc-b257c726a4fe95d3dfb7ecdb3b97bb05fb446465.zip
* libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): New function.
	* debug/vfwprintf_chk.c (__vfwprintf_chk): Use
	_IO_acquire_lock_clear_flags2 instead of _IO_acquire_lock.
	* debug/vprintf_chk.c (__vprintf_chk): Likewise.
	* debug/vwprintf_chk.c (__vwprintf_chk): Likewise.
	* debug/vfprintf_chk.c (__vfprintf_chk): Likewise.
	* debug/fwprintf_chk.c (__fwprintf_chk): Likewise.
	* debug/printf_chk.c (__printf_chk): Likewise.
	* debug/fprintf_chk.c (__fprintf_chk): Likewise.
	* debug/wprintf_chk.c (__wprintf_chk): Likewise.

	* sysdeps/pthread/bits/stdio-lock.h (_IO_acquire_lock_clear_flags2):
	Define.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/sysdeps/pthread/bits/stdio-lock.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/nptl/sysdeps/pthread/bits/stdio-lock.h b/nptl/sysdeps/pthread/bits/stdio-lock.h
index cd64bc37e2..5f2382104b 100644
--- a/nptl/sysdeps/pthread/bits/stdio-lock.h
+++ b/nptl/sysdeps/pthread/bits/stdio-lock.h
@@ -1,5 +1,5 @@
 /* Thread package specific definitions of stream lock type.  NPTL version.
-   Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001, 2002, 2003, 2007 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
@@ -94,9 +94,15 @@ typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
 	__attribute__((cleanup (_IO_acquire_lock_fct)))			      \
 	= (_fp);							      \
     _IO_flockfile (_IO_acquire_lock_file);
-
+#  define _IO_acquire_lock_clear_flags2(_fp) \
+  do {									      \
+    _IO_FILE *_IO_acquire_lock_file					      \
+	__attribute__((cleanup (_IO_acquire_lock_clear_flags2_fct)))	      \
+	= (_fp);							      \
+    _IO_flockfile (_IO_acquire_lock_file);
 # else
 #  define _IO_acquire_lock(_fp) _IO_acquire_lock_needs_exceptions_enabled
+#  define _IO_acquire_lock_clear_flags2(_fp) _IO_acquire_lock (_fp)
 # endif
 # define _IO_release_lock(_fp) ; } while (0)