From 6e55c2df8b11ecffe6e497a73fbfab5cde32ce17 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Mon, 17 Dec 2007 22:23:51 +0000 Subject: [PATCH] Use samskivert signal wrapper. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4909 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../presents/server/SunSignalHandler.java | 32 +++++++------------ 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/src/java/com/threerings/presents/server/SunSignalHandler.java b/src/java/com/threerings/presents/server/SunSignalHandler.java index c6c15e940..68af06296 100644 --- a/src/java/com/threerings/presents/server/SunSignalHandler.java +++ b/src/java/com/threerings/presents/server/SunSignalHandler.java @@ -21,10 +21,8 @@ package com.threerings.presents.server; -import sun.misc.Signal; -import sun.misc.SignalHandler; - import com.samskivert.util.RunAnywhere; +import com.samskivert.util.SignalUtil; import static com.threerings.presents.Log.log; @@ -32,28 +30,20 @@ import static com.threerings.presents.Log.log; * Handles signals using Sun's undocumented Signal class. */ public class SunSignalHandler extends AbstractSignalHandler - implements SignalHandler { - // from interface SignalHandler - public void handle (Signal sig) - { - SignalHandler chain = null; - if (sig.getName().equals("INT")) { - intReceived(); - } else if (sig.getName().equals("HUP")) { - hupReceived(); - } else { - log.warning("Received unknown signal '" + sig.getName() + "'."); - } - } - protected boolean registerHandlers () { - // we don't track and call the chained handlers for INT and HUP because those exit the JVM - // which we do not want to do - Signal.handle(new Signal("INT"), this); + SignalUtil.register(SignalUtil.Number.INT, new SignalUtil.Handler() { + public void signalReceived (SignalUtil.Number sig) { + intReceived(); + } + }); if (!RunAnywhere.isWindows()) { - Signal.handle(new Signal("HUP"), this); + SignalUtil.register(SignalUtil.Number.HUP, new SignalUtil.Handler() { + public void signalReceived (SignalUtil.Number sig) { + hupReceived(); + } + }); } return true; }