X-Git-Url: http://git.ieval.ro/?p=gruntmaster-daemon.git;a=blobdiff_plain;f=lib%2FGruntmaster%2FDaemon%2FFormat%2FCPP.pm;h=66deec111f52b2a284ffe61745f29e8621eac0eb;hp=707af32bfc6b7c04bf7ad587783202b67cb02e24;hb=29182594d09e3f84f00746c959fbfbb95c3cc1c4;hpb=5c5cd38ad5b9e3c2b331564bc0b23e9167b7d07a diff --git a/lib/Gruntmaster/Daemon/Format/CPP.pm b/lib/Gruntmaster/Daemon/Format/CPP.pm index 707af32..66deec1 100644 --- a/lib/Gruntmaster/Daemon/Format/CPP.pm +++ b/lib/Gruntmaster/Daemon/Format/CPP.pm @@ -27,7 +27,7 @@ sub prepare{ open my $devnull, devnull; open my $errors, '>compile-error'; - my $ret = open3 $devnull, $errors, $errors, 'g++', '-o', $basename, $name; + my $ret = open3 $devnull, $errors, undef, 'g++', '-o', $basename, $name; local $SIG{ALRM} = sub {kill KILL => $ret}; alarm 5; wait; @@ -53,10 +53,10 @@ sub run{ die [DIED, "Crash (SIG$signame)"] if $sig; die [NZX, "Non-zero exit status: " . ($? >> 8)] if $?; } else { - $^F = 50; - POSIX::close $_ for 0, 1, 3 .. $^F; my @fds = exists $args{fds} ? @{$args{fds}} : (); get_logger->trace("Running $basename with fds ". join ' ', @fds); + $^F = 50; + POSIX::close $_ for 0, 1, 3 .. $^F; my $it = natatime 2, @fds; while (my ($fd, $file) = $it->()) { open my $fh, $file or die $!;