$line++;
chomp $l;
next if $l =~ /^\s*#/o or $l =~ /^\s*$/o;
- my ($min, $hour, $mday, $month, $wday, $cmd) = $l =~ /^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.+)$/o;
+ my ($min, $hour, $mday, $month, $wday, $cmd) = $l =~ /^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.+)$/;
next unless defined $min;
my $ref = bless {};
my $err = '';
# handle '*' values
if ($val eq '*') {
$ref->{$sort} = 0;
- return;
+ return '';
}
# handle comma delimited values
}
$ref->{$sort} = \@req;
- return;
+ return '';
}
# process the cronjobs
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');
}
}