summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/ThreadPool.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceInternal/ThreadPool.java')
-rw-r--r--java/src/IceInternal/ThreadPool.java15
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