about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Src/mem.c9
2 files changed, 11 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 125121037..6dab22225 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2016-10-04  Barton E. Schaefer  <schaefer@zsh.org>
+
+	* 39561: Src/mem.c: missing unqueue_signals() when ZSH_HEAP_DEBUG
+
 2016-10-03  Barton E. Schaefer  <schaefer@zsh.org>
 
 	* 39550: Src/Zle/zle_main.c: reset signal queue in recursiveedit()
diff --git a/Src/mem.c b/Src/mem.c
index db311efbd..a1744c6d9 100644
--- a/Src/mem.c
+++ b/Src/mem.c
@@ -918,16 +918,21 @@ memory_validate(Heapid heap_id)
     if (heaps_saved) {
 	for (node = firstnode(heaps_saved); node; incnode(node)) {
 	    for (h = (Heap)getdata(node); h; h = h->next) {
-		if (h->heap_id == heap_id)
+		if (h->heap_id == heap_id) {
+		    unqueue_signals();
 		    return 0;
+		}
 		for (hs = heaps->sp; hs; hs = hs->next) {
-		    if (hs->heap_id == heap_id)
+		    if (hs->heap_id == heap_id) {
+			unqueue_signals();
 			return 0;
+		    }
 		}
 	    }
 	}
     }
 
+    unqueue_signals();
     return 1;
 }
 /**/