diff --git a/src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelTimeoutScheduler.java b/src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelTimeoutScheduler.java index 4d5b8c74..27b90510 100644 --- a/src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelTimeoutScheduler.java +++ b/src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelTimeoutScheduler.java @@ -80,11 +80,8 @@ public void run(Timeout timeout) throws Exception { ctx.executor().execute(new Runnable() { @Override public void run() { - try { - runnable.run(); - } finally { - scheduledFutures.remove(key); - } + scheduledFutures.remove(key); + runnable.run(); } }); } @@ -98,11 +95,8 @@ public void schedule(final SchedulerKey key, final Runnable runnable, long delay Timeout timeout = executorService.newTimeout(new TimerTask() { @Override public void run(Timeout timeout) throws Exception { - try { - runnable.run(); - } finally { - scheduledFutures.remove(key); - } + scheduledFutures.remove(key); + runnable.run(); } }, delay, unit);