From 9aed1addb18430e64b11afdf541013e0ab955890 Mon Sep 17 00:00:00 2001 From: Trustin Lee Date: Fri, 7 Nov 2008 17:43:44 +0000 Subject: [PATCH] Potential fix for NPE in NioWorker.RegisterTask.run() --- .../java/org/jboss/netty/channel/socket/nio/NioWorker.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jboss/netty/channel/socket/nio/NioWorker.java b/src/main/java/org/jboss/netty/channel/socket/nio/NioWorker.java index b3639d68d2..e939210ff8 100644 --- a/src/main/java/org/jboss/netty/channel/socket/nio/NioWorker.java +++ b/src/main/java/org/jboss/netty/channel/socket/nio/NioWorker.java @@ -93,7 +93,9 @@ class NioWorker implements Runnable { if (firstChannel) { boolean success = false; try { - this.selector = selector = Selector.open(); + synchronized (shutdownLock) { + this.selector = selector = Selector.open(); + } success = true; } catch (IOException e) { throw new ChannelException( @@ -176,6 +178,7 @@ class NioWorker implements Runnable { synchronized (shutdownLock) { if (registerTaskQueue.isEmpty() && selector.keys().isEmpty()) { + started.set(false); try { selector.close(); } catch (IOException e) { @@ -184,7 +187,6 @@ class NioWorker implements Runnable { } finally { this.selector = null; } - started.set(false); break; } else { shutdown = false;