summary refs log tree commit diff
path: root/Src/exec.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/exec.c')
-rw-r--r--Src/exec.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Src/exec.c b/Src/exec.c
index bc9edce2c..33f28b53b 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -842,7 +842,8 @@ execlist(Estate state, int dont_change_job, int exiting)
 			 * for this sublist.                                   */
 			donetrap = 1;
 			goto sublist_done;
-		    }
+		    } else if (WC_SUBLIST_TYPE(code) == WC_SUBLIST_END)
+			donetrap = 1;
 		}
 		cmdpush(CS_CMDAND);
 		break;
@@ -867,7 +868,8 @@ execlist(Estate state, int dont_change_job, int exiting)
 			 * for this sublist.                                   */
 			donetrap = 1;
 			goto sublist_done;
-		    }
+		    } else if (WC_SUBLIST_TYPE(code) == WC_SUBLIST_END)
+			donetrap = 1;
 		}
 		cmdpush(CS_CMDOR);
 		break;