added code that makes sure apps executed by epist don't die when epist is killed.
Marius Nita marius@cs.pdx.edu
1 files changed,
6 insertions(+),
0 deletions(-)
jump to
M
util/epist/screen.cc
→
util/epist/screen.cc
@@ -568,6 +568,12 @@
void screen::execCommand(const string &cmd) const { pid_t pid; if ((pid = fork()) == 0) { + // disconnect the child from epist's session and the tty + if (setsid() == -1) { + cout << "warning: could not start a new process group\n"; + perror("setsid"); + } + // make the command run on the correct screen if (putenv(const_cast<char*>(_info->displayString().c_str()))) { cout << "warning: couldn't set environment variable 'DISPLAY'\n";