If execvp fails, shouldn't we ensure that the child returns an
appropriate exit value? Wouldn't this also fix the crash we currently
experience if execvp fails?
#ifndef __EMX__
pid_t cpid = ::fork();
if (cpid == 0) { // child
execvp(syscmd, argv);
// If something goes wrong, we end up here
string args;
int i = 0;
while (argv[i] != 0)
args += string(" ") + argv[i++];
lyxerr << "execvp of \"" << syscmd << args << "\" failed: "
<< strerror(errno) << endl;
+ _exit(1);
}
#else
I see that nobody has commented on my zombies patch.
Shall I just apply it?
Angus