my $reset=readfile $resetfile if -e $resetfile;
my($resetminutes,$resetstate);
sub resetread() {
- $reset=~/^0?(\d+):0?(\d+) ([01s]|reset)\n$/ or warn "Invalid $resetfile: $reset";
+ $reset=~/^0?(\d+)[:.]0?(\d+) ([01s]|reset)\n$/ or warn "Invalid $resetfile: $reset";
$resetminutes=$1*60+$2;
$resetstate=($3 eq "reset"?undef:$3);
}
info "->$newstate";
writefile $statefile,"$newstate\n" if $state ne $newstate;
logmsg "$state->$newstate" if $state ne $newstate;
+ if ($newstate ne "s") {
+ my $pid=readfile "pidof -x dnf;true|";
+ die "\nchange refused: dnf running: $pid" if $pid;
+ }
my $both={"s"=>[0,0],"0"=>[1,0],"1"=>[1,1]}->{$newstate};
spawn "$usbrelay 1 ".$both->[0];
spawn "$usbrelay 2 ".$both->[1];
}
$reset=$newreset;
if ($reset=~/^\d+$/) {
- $resetminutes=$reset+$minutes;
+ $resetminutes=($reset+$minutes)%(24*60);
$reset=printminutes($resetminutes)." reset\n";
setstate;
} else {