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) {
my $tle;
local $SIG{ALRM} = sub { kill KILL => $ret; $tle = 1};
alarm $args{timeout} if exists $args{timeout};
- wait;
+ waitpid $ret, 0;
alarm 0;
my $sig = $? & 127;
my $signame = sig_name $sig;