ShellManager: catch all exception once we are in child process

This commit is contained in:
Maxime Coste 2012-07-31 14:21:25 +02:00
parent b65f8cc887
commit ac2676cbcf

View File

@ -49,7 +49,7 @@ String ShellManager::pipe(const String& input,
close(read_pipe[0]); close(read_pipe[0]);
waitpid(pid, NULL, 0); waitpid(pid, NULL, 0);
} }
else else try
{ {
close(write_pipe[1]); close(write_pipe[1]);
close(read_pipe[0]); close(read_pipe[0]);
@ -95,7 +95,9 @@ String ShellManager::pipe(const String& input,
} }
execlp("sh", "sh", "-c", cmdline.c_str(), NULL); execlp("sh", "sh", "-c", cmdline.c_str(), NULL);
exit(-1);
} }
catch (...) { exit(-1); }
return output; return output;
} }