Optimize tr_freehook
authorUlrich Drepper <drepper@gmail.com>
Thu, 22 Dec 2011 16:38:32 +0000 (11:38 -0500)
committerUlrich Drepper <drepper@gmail.com>
Thu, 22 Dec 2011 16:38:32 +0000 (11:38 -0500)
ChangeLog
NEWS
malloc/mtrace.c

index b8ea695..0544a05 100644 (file)
--- 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 bdf996e..a10415d 100644 (file)
--- 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.
index b55449f..0d0cb35 100644 (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);