poidasmith/winrun4j — pull request #20 by nigelsim (2012-10-23 11:51:31+00:00)
Title: Remove System.exit to avoid strange behavour.

When a service ends using System.exit(), such as in the MainService class, the services control reports Error 1053: The service did not respond to the start or control request in a timely fashion. If I replace this with just returning from main then everything works file.

This is an issue for me because I'd like to just use my normal main entry point, as I utilise Runtime shutdown handlers to cleanup (which also run correctly, despite the service handler freaking out).

Perhaps the answer is actually to change the way MainService runs so that it doesn't call System.exit(). This pull request runs the service in a thread, and uses the main thread to monitor.