diff --git a/core/src/main/java/com/threerings/presents/server/RebootManager.java b/core/src/main/java/com/threerings/presents/server/RebootManager.java index acf686e19..a1a9d2419 100644 --- a/core/src/main/java/com/threerings/presents/server/RebootManager.java +++ b/core/src/main/java/com/threerings/presents/server/RebootManager.java @@ -121,16 +121,27 @@ public abstract class RebootManager _observers.add(observer); } + /** + * Cancel the currently scheduled reboot, if any. + */ + public void cancelReboot () + { + if (_interval != null) { + _interval.cancel(); + _interval = null; + } + _nextReboot = 0L; + _rebootSoon = false; + _initiator = null; + } + /** * Schedules a reboot for the specified time. */ public void scheduleReboot (long rebootTime, String initiator) { // if there's already a reboot scheduled, cancel it - if (_interval != null) { - _interval.cancel(); - _interval = null; - } + cancelReboot(); // note our new reboot time and its initiator _nextReboot = rebootTime;