]> Dogcows Code - chaz/openbox/commitdiff
added code that makes sure apps executed by epist don't die when epist is killed.
authorMarius Nita <marius@cs.pdx.edu>
Thu, 12 Sep 2002 09:51:53 +0000 (09:51 +0000)
committerMarius Nita <marius@cs.pdx.edu>
Thu, 12 Sep 2002 09:51:53 +0000 (09:51 +0000)
util/epist/screen.cc

index 0220a9499ef7ec34676d77784686b9a89e5730d0..5711d5515646beb7f1373d39bd8f5b94db24ffae 100644 (file)
@@ -568,6 +568,12 @@ void screen::updateActiveWindow() {
 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";
This page took 0.027067 seconds and 4 git commands to generate.