diff options
author | Ulrich Drepper <drepper@gmail.com> | 2011-12-22 11:38:32 -0500 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-12-22 11:38:32 -0500 |
commit | 41043168619f1bcb12a718792b052703b9d69e91 (patch) | |
tree | 6294b149f293472d4a91b50f4d4451c6bd59d70a | |
parent | b7763303bfe01853eb4b5d034414e445e8c6a7b5 (diff) | |
download | glibc-41043168619f1bcb12a718792b052703b9d69e91.zip glibc-41043168619f1bcb12a718792b052703b9d69e91.tar.gz glibc-41043168619f1bcb12a718792b052703b9d69e91.tar.bz2 |
Optimize tr_freehook
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | NEWS | 6 | ||||
-rw-r--r-- | malloc/mtrace.c | 8 |
3 files changed, 12 insertions, 6 deletions
@@ -1,5 +1,9 @@ 2011-12-22 Ulrich Drepper <drepper@gmail.com> + [BZ #13328] + * malloc/mtrace.c (tr_freehook): Avoid unnecessary unlock/lock. + Proposed by Mariusz_Cukr <marcukr@op.pl>. + * sysdeps/x86_64/fpu/bits/fenv.h: Use __REDIRECT_NTH for __feraiseexcept_renamed. @@ -12,9 +12,9 @@ Version 2.15 6779, 6783, 9696, 10103, 10709, 11589, 12403, 12847, 12868, 12852, 12874, 12885, 12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090, 13092, 13114, 13118, 13123, 13134, 13138, 13147, 13150, 13179, 13192, - 13268, 13276, 13291, 13305, 13335, 13337, 13344, 13358, 13367, 13413, - 13416, 13423, 13439, 13446, 13472, 13484, 13506, 13515, 13523, 13524, - 13538 + 13268, 13276, 13291, 13305, 13328, 13335, 13337, 13344, 13358, 13367, + 13413, 13416, 13423, 13439, 13446, 13472, 13484, 13506, 13515, 13523, + 13524, 13538 * New program pldd to list loaded object of a process Implemented by Ulrich Drepper. diff --git a/malloc/mtrace.c b/malloc/mtrace.c index b55449f..0d0cb35 100644 --- a/malloc/mtrace.c +++ b/malloc/mtrace.c @@ -146,10 +146,12 @@ tr_freehook (ptr, caller) tr_where (caller, info); /* Be sure to print it first. */ fprintf (mallstream, "- %p\n", ptr); - __libc_lock_unlock (lock); if (ptr == mallwatch) - tr_break (); - __libc_lock_lock (lock); + { + __libc_lock_unlock (lock); + tr_break (); + __libc_lock_lock (lock); + } __free_hook = tr_old_free_hook; if (tr_old_free_hook != NULL) (*tr_old_free_hook) (ptr, caller); |