http://qs1969.pair.com?node_id=11100809


in reply to Re^5: Win32::Daemon service doesn't reach RUNNING state
in thread Win32::Daemon service doesn't reach RUNNING state

Good news! We found the call to set the delay has a max somewhere between 5000 and 10000 on the affected systems. So the workaround, which is working:
our $isleep = 15; # Number of seconds to sleep between iterations { my $counter = 0; sub Callback_Running { my($Event, $Context) = @_; if(SERVICE_RUNNING == Win32::Daemon::State()) { $counter += 5; print $fh $counter . "\n"; if ($counter >= $iSleep * 60) { print $fh "Checking in.\n"; # do stuff; $counter = 0; } $Context->{last_state} = SERVICE_RUNNING; Win32::Daemon::State( SERVICE_RUNNING ); } } }
However, resume after pause still does not work
C:\Users\john\test>net continue TestService . The Test Service (TestService) service failed to resume. More help is available by typing NET HELPMSG 3538.

After pausing Repeated messages "The Test Service (TestService) service has reported an invalid current state 0." in event viewer. Continue does not work.