about summary refs log tree commit diff
path: root/malloc/malloc.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-09-12 22:37:19 +0000
committerUlrich Drepper <drepper@redhat.com>2003-09-12 22:37:19 +0000
commit8dab36a1198f257efaf7ddf71b768914ed50c898 (patch)
tree08bcf658856536df147f2f9d0e5b5b04ecaae6cc /malloc/malloc.c
parent6fee33627549f407f3621fde054d495285e23af5 (diff)
downloadglibc-8dab36a1198f257efaf7ddf71b768914ed50c898.tar.gz
glibc-8dab36a1198f257efaf7ddf71b768914ed50c898.tar.xz
glibc-8dab36a1198f257efaf7ddf71b768914ed50c898.zip
Update.
2003-09-12  Ulrich Drepper  <drepper@redhat.com>

	* grp/Makefile (CFLAGS-getgrgid_r.c, CFLAGS-getgrnam_r.c,
	CFLAGS-fgetgrent.c, CFLAGS-fgetgrent_r.c, CFLAGS-putgrent.c,
	CFLAGS-initgroups.c, CFLAGS-getgrgid.c): Add -fexceptions.
	* inet/Makefile (CFLAGS-either_ntoh.c, CFLAGS-either_hton.c,
	CFLAGS-getnetgrent.c, CFLAGS-getnetgrent_r.c): Likewise.
	* io/Makefile (CFLAGS-posix_fallocate.c, CFLAGS-posix_fallocate64.c):
	Likewise.
	* misc/Makefile (CFLAGS-err.c): Likewise.
	* posix/Makefile (CFLAGS-getaddrinfo.c, CFLAGS-spawn.c,
	CFLAGS-spawnp.c, CFLAGS-spawni.c, CFLAGS-pause.c, CFLAGS-glob.c,
	CFLAGS-glob64.c): Likewise.
	* pwd/Makefile (CFLAGS-getpw.c): Likewise.
	* shadow/Makefile (CFLAGS-fgetspent.c, CFLAGS-fgetspent_r.c,
	CFLAGS-putspent.c, CFLAGS-getspnam.c, CFLAGS-getspnam_r.c): Likewise.
	* stdio-common/Makefile (CFLAGS-cuserid.c): Likewise.
	* sunrpc/Makefile (CFLAGS-openchild.c): Likewise.

	* stdlib/Makefile (CFLAGS-mkstemp.c): Remove definition.

	* libio/stdio.h: Remove __THROW from cuserid prototype.

	* locale/loadarchive.c: Use only non-cancelable interfaces.
	* resolv/herror.c (herror): Likewise.

	* malloc/hooks.c: Before using IO stream mark stream so it uses
	only non-cancelable interfaces.
	* malloc/malloc.c: Likewise.
	* posix/getopt.c: Likewise.


2003-09-11  Jakub Jelinek  <jakub@redhat.com>

	* Makerules (LDFLAGS-c.so): Remove -u __register_frame.

2003-09-12  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/stdio_ext.h: Mark most functions with __THROW.

	* misc/err.h: Remove __THROW from all prototypes.

	* posix/getopt.h (__THROW): Define if not already defined.  Add
	__THROW to the getopt functions.

2003-09-11  Ulrich Drepper  <drepper@redhat.com>

	* io/Makefile (CFLAGS-lockf.c): Add -fexceptions.
	(CFLAGS-fts.c): Likewise.
	* io/fcntl.h: Remove __THROW from lockf prototypes.
	* io/fts.h: Remove most __THROW.
Diffstat (limited to 'malloc/malloc.c')
-rw-r--r--malloc/malloc.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 6b89083880..442f17e71a 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -4139,7 +4139,18 @@ _int_free(mstate av, Void_t* mem)
     if (__builtin_expect ((uintptr_t) p > (uintptr_t) -size, 0))
       {
 	if (check_action & 1)
-	  fprintf (stderr, "free(): invalid pointer %p!\n", mem);
+	  {
+#ifdef _LIBC
+	    _IO_flockfile (stderr);
+	    int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+	    ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+#endif
+	    fprintf (stderr, "free(): invalid pointer %p!\n", mem);
+#ifdef _LIBC
+	    ((_IO_FILE *) stderr)->_flags2 |= old_flags2;
+	    _IO_funlockfile (stderr);
+#endif
+	  }
 	if (check_action & 2)
 	  abort ();
 	return;
@@ -5108,6 +5119,11 @@ void mSTATs()
 
   if(__malloc_initialized < 0)
     ptmalloc_init ();
+#ifdef _LIBC
+  _IO_flockfile (stderr);
+  int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+  ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+#endif
   for (i=0, ar_ptr = &main_arena;; i++) {
     (void)mutex_lock(&ar_ptr->mutex);
     mi = mALLINFo(ar_ptr);
@@ -5152,6 +5168,10 @@ void mSTATs()
   fprintf(stderr, "locked total     = %10ld\n",
           stat_lock_direct + stat_lock_loop + stat_lock_wait);
 #endif
+#ifdef _LIBC
+  ((_IO_FILE *) stderr)->_flags2 |= old_flags2;
+  _IO_funlockfile (stderr);
+#endif
 }