sub mkrun{
my $format = shift;
sub{
+ local *__ANON__ = 'mkrun_runner';
my ($name, %args) = @_;
+ get_logger->trace("Running $name...");
my $basename = fileparse $name, qr/\.[^.]*/;
my $ret = fork // die 'Cannot fork';
if ($ret) {
die [TLE, "Time Limit Exceeded"] if $tle;
die [OLE, 'Output Limit Exceeded'] if $sig && $signame eq 'XFSZ';
die [DIED, "Crash (SIG$signame)"] if $sig && $signame != 'PIPE';
- die [NZX, "Non-zero exit status: " . ($? >> 8)] if $?;
+ die [NZX, "Non-zero exit status: " . ($? >> 8)] if $? >> 8;
} else {
my @fds = exists $args{fds} ? @{$args{fds}} : ();
$^F = 50;