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