summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2014-10-23 18:42:07 +0200
committerBenoit Foucher <benoit@zeroc.com>2014-10-24 10:42:14 +0200
commitb3d7e5338a0490fe482fa1ffdf1e0f711661762c (patch)
treeccbcf755137da53e26a18e671555bb788ab7877d /java/src
parentFixed ICE-5452: hold test hang (diff)
downloadice-b3d7e5338a0490fe482fa1ffdf1e0f711661762c.tar.bz2
ice-b3d7e5338a0490fe482fa1ffdf1e0f711661762c.tar.xz
ice-b3d7e5338a0490fe482fa1ffdf1e0f711661762c.zip
Fixed ICE-5753: CancelledKeyException in Java selector
Diffstat (limited to 'java/src')
-rw-r--r--java/src/Ice/src/main/java/IceInternal/Selector.java14
1 files changed, 5 insertions, 9 deletions
diff --git a/java/src/Ice/src/main/java/IceInternal/Selector.java b/java/src/Ice/src/main/java/IceInternal/Selector.java
index 03e683420ba..c05660af7be 100644
--- a/java/src/Ice/src/main/java/IceInternal/Selector.java
+++ b/java/src/Ice/src/main/java/IceInternal/Selector.java
@@ -97,17 +97,13 @@ public final class Selector
boolean finish(EventHandler handler, boolean closeNow)
{
- if(handler._registered != 0)
+ handler._registered = 0;
+ if(handler._key != null)
{
- if(handler._key != null)
- {
- handler._key.cancel();
- handler._key = null;
- }
-
- update(handler, handler._registered, SocketOperation.None);
- _changes.remove(handler);
+ handler._key.cancel();
+ handler._key = null;
}
+ _changes.remove(handler);
return closeNow;
}