about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2016-10-04 13:30:37 -0700
committerBarton E. Schaefer <schaefer@zsh.org>2016-10-04 13:30:37 -0700
commit429f8ae71dc7f84b799a6d0a1f96716a7cde8806 (patch)
tree6d985da9f5b9d57cf9e67516e9b18409eda66b08
parentccc0b6f8a625357cbae9dfd4a685b9323e09c13f (diff)
downloadzsh-429f8ae71dc7f84b799a6d0a1f96716a7cde8806.tar.gz
zsh-429f8ae71dc7f84b799a6d0a1f96716a7cde8806.tar.xz
zsh-429f8ae71dc7f84b799a6d0a1f96716a7cde8806.zip
39561: missing unqueue_signals() when ZSH_HEAP_DEBUG
-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;
 }
 /**/