diff options
Diffstat (limited to 'java/src/IceInternal/ThreadPool.java')
-rw-r--r-- | java/src/IceInternal/ThreadPool.java | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/java/src/IceInternal/ThreadPool.java b/java/src/IceInternal/ThreadPool.java index de9d99138b8..ae1398e1a78 100644 --- a/java/src/IceInternal/ThreadPool.java +++ b/java/src/IceInternal/ThreadPool.java @@ -29,12 +29,15 @@ public final class ThreadPool unregister(java.nio.channels.SelectableChannel fd, boolean callFinished) { java.nio.channels.SelectionKey key = fd.keyFor(_selector); - HandlerInfo info = (HandlerInfo)key.attachment(); - assert(info != null); - info.callFinished = callFinished; - info.next = _removes; - _removes = info; - setInterrupt(); + if (key != null) + { + HandlerInfo info = (HandlerInfo)key.attachment(); + assert(info != null); + info.callFinished = callFinished; + info.next = _removes; + _removes = info; + setInterrupt(); + } } public void |