Allow subclasses to change how signal handlers are registered
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6132 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -80,7 +80,7 @@ public class ClientManager
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used by entites that wish to track when clients initiate and end sessions on this server.
|
* Used by entities that wish to track when clients initiate and end sessions on this server.
|
||||||
*/
|
*/
|
||||||
public static interface ClientObserver
|
public static interface ClientObserver
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -130,16 +130,7 @@ public class PresentsServer
|
|||||||
SystemInfo si = new SystemInfo();
|
SystemInfo si = new SystemInfo();
|
||||||
log.info("Starting up server", "os", si.osToString(), "jvm", si.jvmToString());
|
log.info("Starting up server", "os", si.osToString(), "jvm", si.jvmToString());
|
||||||
|
|
||||||
// register SIGTERM, SIGINT (ctrl-c) and a SIGHUP handlers
|
registerSignalHandlers(injector);
|
||||||
boolean registered = false;
|
|
||||||
try {
|
|
||||||
registered = injector.getInstance(SunSignalHandler.class).init();
|
|
||||||
} catch (Throwable t) {
|
|
||||||
log.warning("Unable to register Sun signal handlers", "error", t);
|
|
||||||
}
|
|
||||||
if (!registered) {
|
|
||||||
injector.getInstance(NativeSignalHandler.class).init();
|
|
||||||
}
|
|
||||||
|
|
||||||
// initialize our deprecated legacy static references
|
// initialize our deprecated legacy static references
|
||||||
omgr = _omgr;
|
omgr = _omgr;
|
||||||
@@ -172,6 +163,20 @@ public class PresentsServer
|
|||||||
_lifecycle.init();
|
_lifecycle.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void registerSignalHandlers (Injector injector)
|
||||||
|
{
|
||||||
|
// register SIGTERM, SIGINT (ctrl-c) and a SIGHUP handlers
|
||||||
|
boolean registered = false;
|
||||||
|
try {
|
||||||
|
registered = injector.getInstance(SunSignalHandler.class).init();
|
||||||
|
} catch (Throwable t) {
|
||||||
|
log.warning("Unable to register Sun signal handlers", "error", t);
|
||||||
|
}
|
||||||
|
if (!registered) {
|
||||||
|
injector.getInstance(NativeSignalHandler.class).init();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts up all of the server services and enters the main server event loop.
|
* Starts up all of the server services and enters the main server event loop.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user