From 543a0d8a57d782867f7be17c265fadfcc5755eb1 Mon Sep 17 00:00:00 2001 From: Charlie Groves Date: Mon, 23 Aug 2010 22:28:29 +0000 Subject: [PATCH] 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 --- .../presents/server/ClientManager.java | 2 +- .../presents/server/PresentsServer.java | 25 +++++++++++-------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/java/com/threerings/presents/server/ClientManager.java b/src/java/com/threerings/presents/server/ClientManager.java index e4263a5ed..560996cb3 100644 --- a/src/java/com/threerings/presents/server/ClientManager.java +++ b/src/java/com/threerings/presents/server/ClientManager.java @@ -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 { diff --git a/src/java/com/threerings/presents/server/PresentsServer.java b/src/java/com/threerings/presents/server/PresentsServer.java index 8c07a64d8..a1aacda2b 100644 --- a/src/java/com/threerings/presents/server/PresentsServer.java +++ b/src/java/com/threerings/presents/server/PresentsServer.java @@ -130,16 +130,7 @@ public class PresentsServer SystemInfo si = new SystemInfo(); log.info("Starting up server", "os", si.osToString(), "jvm", si.jvmToString()); - // 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(); - } + registerSignalHandlers(injector); // initialize our deprecated legacy static references omgr = _omgr; @@ -172,6 +163,20 @@ public class PresentsServer _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. */