mirror of
https://github.com/pragma-/pbot.git
synced 2025-02-19 23:10:44 +01:00
Fix virsh compiler server forking issues
This commit is contained in:
parent
dfa6c4a9e1
commit
2361436d34
@ -49,15 +49,19 @@ sub execute {
|
|||||||
|
|
||||||
print "execute($cmdline)\n";
|
print "execute($cmdline)\n";
|
||||||
|
|
||||||
|
my @list = split / /, $cmdline;
|
||||||
|
|
||||||
my ($ret, $result);
|
my ($ret, $result);
|
||||||
|
|
||||||
|
$SIG{CHLD} = 'IGNORE';
|
||||||
|
|
||||||
my $child = fork;
|
my $child = fork;
|
||||||
|
|
||||||
if($child == 0) {
|
if($child == 0) {
|
||||||
($ret, $result) = eval {
|
($ret, $result) = eval {
|
||||||
my $result = '';
|
my $result = '';
|
||||||
|
|
||||||
my $pid = open(my $fh, '-|', "$cmdline 2>&1");
|
my $pid = open(my $fh, '-|', @list);
|
||||||
|
|
||||||
local $SIG{ALRM} = sub { print "Time out\n"; kill 9, $pid; print "sent KILL to $pid\n"; die "Timed-out: $result\n"; };
|
local $SIG{ALRM} = sub { print "Time out\n"; kill 9, $pid; print "sent KILL to $pid\n"; die "Timed-out: $result\n"; };
|
||||||
alarm($COMPILE_TIMEOUT);
|
alarm($COMPILE_TIMEOUT);
|
||||||
@ -206,7 +210,7 @@ sub compiler_server {
|
|||||||
print "Attempting compile...\n";
|
print "Attempting compile...\n";
|
||||||
alarm 0;
|
alarm 0;
|
||||||
|
|
||||||
my ($ret, $result) = execute("./compiler_vm_client.pl \Q$lang\E \Q$nick\E \Q$channel\E \Q$code\E");
|
my ($ret, $result) = execute("perl compiler_vm_client.pl $lang $nick $channel $code");
|
||||||
|
|
||||||
if(not defined $ret) {
|
if(not defined $ret) {
|
||||||
#print "parent continued\n";
|
#print "parent continued\n";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user