From 72112b0cb4b10d27e7729d12bb9f937e13975379 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 26 Jul 2008 22:43:16 +0000 Subject: * malloc/mtrace.c (mtrace): Use 'e' flag in fopen call. Drop F_SETFD use if we know fopen set the flag. --- malloc/mtrace.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'malloc') diff --git a/malloc/mtrace.c b/malloc/mtrace.c index 1a9522b..fafa52e 100644 --- a/malloc/mtrace.c +++ b/malloc/mtrace.c @@ -1,5 +1,5 @@ /* More debugging hooks for `malloc'. - Copyright (C) 1991-1994,1996-2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1991-1994,1996-2004, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Written April 2, 1991 by John Gilmore of Cygnus Support. Based on mcheck.c by Mike Haertel. @@ -34,13 +34,13 @@ #include -#ifdef _LIBC -# include +#include -# include -# define setvbuf(s, b, f, l) INTUSE(_IO_setvbuf) (s, b, f, l) -# define fwrite(buf, size, count, fp) _IO_fwrite (buf, size, count, fp) -#endif +#include +#define setvbuf(s, b, f, l) INTUSE(_IO_setvbuf) (s, b, f, l) +#define fwrite(buf, size, count, fp) _IO_fwrite (buf, size, count, fp) + +#include #ifndef attribute_hidden # define attribute_hidden @@ -315,9 +315,10 @@ mtrace () if (mtb == NULL) return; - mallstream = fopen (mallfile != NULL ? mallfile : "/dev/null", "wc"); + mallstream = fopen (mallfile != NULL ? mallfile : "/dev/null", "wce"); if (mallstream != NULL) { +#ifndef __ASSUME_O_CLOEXEC /* Make sure we close the file descriptor on exec. */ int flags = __fcntl (fileno (mallstream), F_GETFD, 0); if (flags >= 0) @@ -325,6 +326,7 @@ mtrace () flags |= FD_CLOEXEC; __fcntl (fileno (mallstream), F_SETFD, flags); } +#endif /* Be sure it doesn't malloc its buffer! */ malloc_trace_buffer = mtb; setvbuf (mallstream, malloc_trace_buffer, _IOFBF, TRACE_BUFFER_SIZE); -- cgit v1.1