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.tar.gz glibc-41043168619f1bcb12a718792b052703b9d69e91.tar.xz glibc-41043168619f1bcb12a718792b052703b9d69e91.zip |
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
diff --git a/ChangeLog b/ChangeLog index b8ea695e1b..0544a052eb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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. diff --git a/NEWS b/NEWS index bdf996eafa..a10415d1a3 100644 --- a/NEWS +++ b/NEWS @@ -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 b55449f1ea..0d0cb35ff3 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); |