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> 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 * sysdeps/x86_64/fpu/bits/fenv.h: Use __REDIRECT_NTH for
__feraiseexcept_renamed. __feraiseexcept_renamed.

6
NEWS
View File

@ -12,9 +12,9 @@ Version 2.15
6779, 6783, 9696, 10103, 10709, 11589, 12403, 12847, 12868, 12852, 12874, 6779, 6783, 9696, 10103, 10709, 11589, 12403, 12847, 12868, 12852, 12874,
12885, 12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090, 12885, 12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090,
13092, 13114, 13118, 13123, 13134, 13138, 13147, 13150, 13179, 13192, 13092, 13114, 13118, 13123, 13134, 13138, 13147, 13150, 13179, 13192,
13268, 13276, 13291, 13305, 13335, 13337, 13344, 13358, 13367, 13413, 13268, 13276, 13291, 13305, 13328, 13335, 13337, 13344, 13358, 13367,
13416, 13423, 13439, 13446, 13472, 13484, 13506, 13515, 13523, 13524, 13413, 13416, 13423, 13439, 13446, 13472, 13484, 13506, 13515, 13523,
13538 13524, 13538
* New program pldd to list loaded object of a process * New program pldd to list loaded object of a process
Implemented by Ulrich Drepper. Implemented by Ulrich Drepper.

View File

@ -146,10 +146,12 @@ tr_freehook (ptr, caller)
tr_where (caller, info); tr_where (caller, info);
/* Be sure to print it first. */ /* Be sure to print it first. */
fprintf (mallstream, "- %p\n", ptr); fprintf (mallstream, "- %p\n", ptr);
__libc_lock_unlock (lock);
if (ptr == mallwatch) 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; __free_hook = tr_old_free_hook;
if (tr_old_free_hook != NULL) if (tr_old_free_hook != NULL)
(*tr_old_free_hook) (ptr, caller); (*tr_old_free_hook) (ptr, caller);