summaryrefslogtreecommitdiff
path: root/gtk2_ardour/system_exec.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-06-07 12:00:23 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-06-07 12:00:23 -0400
commit79cb2875fef3771623f01ecf1e3c0c494f683855 (patch)
tree55b237dcb1799a7624157a041671788f9c6e4a13 /gtk2_ardour/system_exec.cc
parent323f39d8b6d093741b612244935684bfc53a0360 (diff)
parent92161b57ad8eb65c5f3e265388c353d36ce20c8d (diff)
Merge branch 'master' of git.ardour.org:ardour/ardour
Diffstat (limited to 'gtk2_ardour/system_exec.cc')
-rw-r--r--gtk2_ardour/system_exec.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/gtk2_ardour/system_exec.cc b/gtk2_ardour/system_exec.cc
index 29e8cb913e..ca059dada5 100644
--- a/gtk2_ardour/system_exec.cc
+++ b/gtk2_ardour/system_exec.cc
@@ -445,10 +445,13 @@ SystemExec::wait (int options)
int status=0;
if (pid==0) return -1;
if (pid==::waitpid(pid, &status, options)) {
- pid=0;
- }
- if (errno == ECHILD) {
- pid=0;
+ if (WEXITSTATUS(status) || WIFSIGNALED(status)) {
+ pid=0;
+ }
+ } else {
+ if (errno == ECHILD) {
+ pid=0;
+ }
}
return status;
}