flush output file handle and send kill to whole process group
authorDietmar Maurer <dietmar@proxmox.com>
Mon, 12 Sep 2011 11:50:21 +0000 (13:50 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Mon, 12 Sep 2011 11:50:21 +0000 (13:50 +0200)
PVE/RPCEnvironment.pm

index a18ceb1..007c3c4 100644 (file)
@@ -530,7 +530,7 @@ sub fork_worker {
            kill('KILL', $$); 
        }
 
-       # sync with parent (signal that we are read)
+       # sync with parent (signal that we are ready)
        if ($sync) {
            print "$upid\n";
        } else {
@@ -632,6 +632,7 @@ sub fork_worker {
                    }
                    if ($outfh) {
                        print $outfh $line;
+                       $outfh->flush();
                    }
                }
            }
@@ -653,10 +654,10 @@ sub fork_worker {
            if ($outfh) {
                print $outfh "TASK ERROR: $err\n";
            }
-           kill (15, $cpid);
+           kill (-15, $cpid);
 
        } else {
-           kill (9, $cpid); # make sure it gets killed
+           kill (-9, $cpid); # make sure it gets killed
        }
 
        close($outfh);