Optimize tr_freehook

This commit is contained in:
Ulrich Drepper 2011-12-22 11:38:32 -05:00
parent b7763303bf
commit 4104316861
3 changed files with 12 additions and 6 deletions

View file

@ -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.

6
NEWS
View file

@ -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.

View file

@ -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);