diff --git a/libs/pbd/system_exec.cc b/libs/pbd/system_exec.cc index 574a1aa5b7..dfafa1a3ac 100644 --- a/libs/pbd/system_exec.cc +++ b/libs/pbd/system_exec.cc @@ -682,6 +682,13 @@ SystemExec::terminate () wait(WNOHANG); } + if (pid) { + ::kill(pid, SIGINT); + ::usleep(250000); + sched_yield(); + wait(WNOHANG); + } + /* if pid is non-zero, the child task is STILL executing after being * sent SIGTERM. Act tough ... send SIGKILL */