about summary refs log tree commit diff
path: root/malloc/mtrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'malloc/mtrace.c')
-rw-r--r--malloc/mtrace.c8
1 files changed, 5 insertions, 3 deletions
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);