]> git.proxmox.com Git - pve-common.git/blobdiff - src/PVE/RESTEnvironment.pm
foolowup: improve/add comments and spacing
[pve-common.git] / src / PVE / RESTEnvironment.pm
index 3155aac849de59a2f9f7eb1fb028c97422a66b84..6a53741242349610902093342c2e3b7e04b5d6a6 100644 (file)
@@ -496,10 +496,11 @@ sub fork_worker {
        $SIG{CHLD} = $SIG{PIPE} = 'DEFAULT';
        $SIG{TTOU} = 'IGNORE';
 
-       # set sess/process group - we want to be able to kill the
-       # whole process group
+       # set session/process group allows to kill the process group
        if ($sync && -t STDIN) {
-           POSIX::setpgid(0,0) or die "failed to setpgid: $!\n";;
+           # some sync'ed workers operate on the tty but setsid sessions lose
+           # the tty, so just create a new pgroup and give it the tty
+           POSIX::setpgid(0, 0) or die "failed to setpgid: $!\n";;
            POSIX::tcsetpgrp(fileno(STDIN), $$) or die "failed to tcsetpgrp: $!\n";
        } else {
            POSIX::setsid();