aboutsummaryrefslogtreecommitdiff
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 4460d95b8..7c1138720 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;
}