about summary refs log tree commit diff
path: root/malloc/Makefile
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2018-02-10 16:24:17 -0500
committerZack Weinberg <zackw@panix.com>2018-02-10 16:24:17 -0500
commit402ecba487804e9196769f39a8d157847d3b3104 (patch)
treea3520f093faa45dcb88e6ed8a97d9c5ad2f98e64 /malloc/Makefile
parent4f5b921eb9b775aa3549a9bcd684c3013132f04b (diff)
downloadglibc-402ecba487804e9196769f39a8d157847d3b3104.tar.gz
glibc-402ecba487804e9196769f39a8d157847d3b3104.tar.xz
glibc-402ecba487804e9196769f39a8d157847d3b3104.zip
[BZ #22830] malloc_stats: restore cancellation for stderr correctly.
malloc_stats means to disable cancellation for writes to stderr while
it runs, but it restores stderr->_flags2 with |= instead of =, so what
it actually does is disable cancellation on stderr permanently.

	[BZ #22830]
	* malloc/malloc.c (__malloc_stats): Restore stderr->_flags2
        correctly.
        * malloc/tst-malloc-stats-cancellation.c: New test case.
        * malloc/Makefile: Add new test case.
Diffstat (limited to 'malloc/Makefile')
-rw-r--r--malloc/Makefile2
1 files changed, 2 insertions, 0 deletions
diff --git a/malloc/Makefile b/malloc/Makefile
index 17873e67c4..7d54bad866 100644
--- a/malloc/Makefile
+++ b/malloc/Makefile
@@ -37,6 +37,7 @@ tests := mallocbug tst-malloc tst-valloc tst-calloc tst-obstack \
 	 tst-malloc-tcache-leak \
 	 tst-malloc_info \
 	 tst-malloc-too-large \
+	 tst-malloc-stats-cancellation \
 
 tests-static := \
 	 tst-interpose-static-nothread \
@@ -96,6 +97,7 @@ $(objpfx)tst-malloc-backtrace: $(shared-thread-library)
 $(objpfx)tst-malloc-thread-exit: $(shared-thread-library)
 $(objpfx)tst-malloc-thread-fail: $(shared-thread-library)
 $(objpfx)tst-malloc-fork-deadlock: $(shared-thread-library)
+$(objpfx)tst-malloc-stats-cancellation: $(shared-thread-library)
 
 # Export the __malloc_initialize_hook variable to libc.so.
 LDFLAGS-tst-mallocstate = -rdynamic