diff --git a/remotevstclient.cpp b/remotevstclient.cpp index 0ea0a8a..5bcdfc1 100644 --- a/remotevstclient.cpp +++ b/remotevstclient.cpp @@ -75,7 +75,7 @@ RemoteVSTClient::RemoteVSTClient(std::string dllName, bool showGUI) : cleanup(); throw((std::string)"Fork failed"); } else if (child == 0) { // child process - if (execlp(fileName.c_str(), fileName.c_str(), argStr, 0)) { + if (execlp(fileName.c_str(), fileName.c_str(), argStr, NULL)) { perror("Exec failed"); exit(1); } @@ -336,7 +336,7 @@ RemoteVSTClient::queryPlugins(std::vector &plugins) unlink(fifoFile); throw((std::string)"Fork failed"); } else if (child == 0) { // child process - if (execlp(fileName.c_str(), fileName.c_str(), fifoFile, 0)) { + if (execlp(fileName.c_str(), fileName.c_str(), fifoFile, NULL)) { perror("Exec failed"); unlink(fifoFile); exit(1); diff --git a/vsthost.cpp b/vsthost.cpp index db8abe4..68bd87e 100644 --- a/vsthost.cpp +++ b/vsthost.cpp @@ -511,7 +511,6 @@ main(int argc, char **argv) sigaction(SIGQUIT, &sa, 0); sigaction(SIGTERM, &sa, 0); sigaction(SIGPIPE, &sa, 0); - sigaction(SIGCHLD, &sa, 0); jackData.client = 0; @@ -534,6 +533,7 @@ main(int argc, char **argv) sigaddset(&_signals, SIGTERM); sigaddset(&_signals, SIGUSR1); sigaddset(&_signals, SIGUSR2); + sigaddset(&_signals, SIGCHLD); pthread_sigmask(SIG_BLOCK, &_signals, 0); bool hasMIDI = plugin->hasMIDIInput();