about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libutil/util.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index 4460d95b8e42..7c1138720cd3 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -685,9 +685,11 @@ void Pid::kill()
 
     /* Wait until the child dies, disregarding the exit status. */
     int status;
-    while (waitpid(pid, &status, 0) == -1)
+    while (waitpid(pid, &status, 0) == -1) {
+        checkInterrupt();
         if (errno != EINTR) printMsg(lvlError,
             (SysError(format("waiting for process %1%") % pid).msg()));
+    }
 
     pid = -1;
 }