Fix interactive runner
[gruntmaster-daemon.git] / lib / Gruntmaster / Daemon / Runner / Interactive.pm
index 5edee04ea2055f533e92d53a3754bf4b98ffe6d5..9c4580fbf2e033f77eabf0f9ddecb789467d8c6a 100644 (file)
@@ -15,13 +15,14 @@ use Try::Tiny;
 sub run{
   my ($test, $meta) = @_;
   get_logger->trace("Running on test $test...");
-  my $ret = fork // get_logger->logdie("Fork failed: $!");
 
   mkfifo 'fifo1', 0600 or die $! unless -e 'fifo1';
   mkfifo 'fifo2', 0600 or die $! unless -e 'fifo2';
+
+  my $ret = fork // get_logger->logdie("Fork failed: $!");
   if ($ret) {
        $meta->{files}{prog}{run}->($meta->{files}{prog}{name}, fds => [qw/0 fifo1 1 >fifo2/], map {defined $meta->{$_} ? ($_ => $meta->{$_}) : () } qw/timeout mlimit/);
-       wait;
+       waitpid $ret, 0;
        die [WA, "Wrong Answer"] if $?;
   } else {
        try {
This page took 0.010759 seconds and 4 git commands to generate.