[Win32utils-devel] win32-service patch
phasis at gmail.com
Mon Jun 17 14:21:06 UTC 2013
2013/6/17 Daniel Berger <djberg96 at gmail.com>:
>> > However, it seems the JVM takes too long to spin up. When I try to start
>> > the
>> > service, I get the "did not start in a timely fashion" error with JRuby.
>> > Although, I would think the service_init method would give it enough
>> > time.
>> > From watching the log file, though, it doesn't look like it ever gets to
>> > service_init.
>> I guess this is an environment issue.
>> In my test with jruby-1.7.4, it works fine and the log file looks good.
>> service_main entered at: 2013-06-17 22:21:12 +0900
>> Args: DemoSvc,hello
>> Service is running as of: 2013-06-17 22:21:32 +0900
>> Service is running as of: 2013-06-17 22:21:52 +0900
>> Service is running as of: 2013-06-17 22:22:12 +0900
> Weird. I installed the latest JRuby x64 + JVM:
> jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on Java HotSpot(TM) Client VM
> 1.7.0_21-b11 [Windows
> This is Windows 7 Home Premium, btw.
> Still get this error:
> SystemCallError: Unknown error 1053 - StartService: The service did not
> respond to the start or control request in a timely fashion.
> raise_windows_error at
> start at
> (root) at examples\demo_daemon_ctl.rb:68
I guess this means your demo_daemon.rb has some errors.
I recommend you to try "jruby demo_daemon.rb" and make sure
demo_daemon.rb has no error.
> Well, I'm happy to know that it works for someone. I'll try it on my Windows
> 7 Pro box and see if it makes any difference.
I added some constant definition to daemon.rb
# Service is not running
STOPPED = SERVICE_STOPPED
# Service has received a start signal but is not yet running
START_PENDING = SERVICE_START_PENDING
# Service has received a stop signal but is not yet stopped
STOP_PENDING = SERVICE_STOP_PENDING
# Service is running
RUNNING = SERVICE_RUNNING
# Service has received a signal to resume but is not yet running
CONTINUE_PENDING = SERVICE_CONTINUE_PENDING
# Service has received a signal to pause but is not yet paused
PAUSE_PENDING = SERVICE_PAUSE_PENDING
# Service is paused
PAUSED = SERVICE_PAUSED
# Service controls
# Notifies service that it should stop
CONTROL_STOP = SERVICE_CONTROL_STOP
# Notifies service that it should pause
CONTROL_PAUSE = SERVICE_CONTROL_PAUSE
# Notifies service that it should resume
CONTROL_CONTINUE = SERVICE_CONTROL_CONTINUE
# Notifies service that it should return its current status information
CONTROL_INTERROGATE = SERVICE_CONTROL_INTERROGATE
# Notifies a service that its parameters have changed
CONTROL_PARAMCHANGE = SERVICE_CONTROL_PARAMCHANGE
# Notifies a service that there is a new component for binding
CONTROL_NETBINDADD = SERVICE_CONTROL_NETBINDADD
# Notifies a service that a component for binding has been removed
CONTROL_NETBINDREMOVE = SERVICE_CONTROL_NETBINDREMOVE
# Notifies a service that a component for binding has been enabled
CONTROL_NETBINDENABLE = SERVICE_CONTROL_NETBINDENABLE
# Notifies a service that a component for binding has been disabled
CONTROL_NETBINDDISABLE = SERVICE_CONTROL_NETBINDDISABLE
IDLE = 0
And My demo_daemon.rb is https://gist.github.com/phasis68/5797203
More information about the win32utils-devel