if ($cron->{cmd}) {
dbg("cron: $min $hour $mday $mon $wday -> doing '$cron->{cmd}'") if isdbg('cron');
- eval "$cron->{cmd}";
+ eval $cron->{cmd};
dbg("cron: cmd error $@") if $@ && isdbg('cron');
}
}
my $fc = DXSubprocess->new();
$fc->run(
sub {
- $main::me->{_nospawn} = 1;
+ ++$main::me->{_nospawn};
my @res = $main::me->run_cmd($line);
- delete $main::me->{_nospawn};
# diffms("DXCron spawn_cmd 1", $line, $t0, scalar @res) if isdbg('chan');
return @res;
},
sub {
my ($fc, $err, @res) = @_;
+ --$main::me->{_nospawn};
+ delete $main::me->{_nospawn} if exists $main::me->{_nospawn} && $main::me->{_nospawn} <= 0;
if ($err) {
my $s = "DXCron::spawn_cmd: error $err";
dbg($s);
sub run_cmd
{
my $line = shift;
- my @in = $main::me->run_cmd($line);
dbg("DXCron::run_cmd: $line") if isdbg('cron');
+ my @in = $main::me->run_cmd($line);
for (@in) {
- s/\s*$//og;
+ s/\s*$//;
dbg("DXCron::cmd out: $_") if isdbg('cron');
}
}