summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/Ice/ConnectionI.java5
-rw-r--r--java/src/IceInternal/ThreadPoolCurrent.java6
2 files changed, 11 insertions, 0 deletions
diff --git a/java/src/Ice/ConnectionI.java b/java/src/Ice/ConnectionI.java
index fd8a387a52d..b84064da6ba 100644
--- a/java/src/Ice/ConnectionI.java
+++ b/java/src/Ice/ConnectionI.java
@@ -1168,6 +1168,11 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
return;
}
+ if(!current.ioReady())
+ {
+ return;
+ }
+
int readyOp = current.operation;
try
{
diff --git a/java/src/IceInternal/ThreadPoolCurrent.java b/java/src/IceInternal/ThreadPoolCurrent.java
index 7b81127016c..864f2ba4aab 100644
--- a/java/src/IceInternal/ThreadPoolCurrent.java
+++ b/java/src/IceInternal/ThreadPoolCurrent.java
@@ -25,6 +25,12 @@ public final class ThreadPoolCurrent
public int operation;
public BasicStream stream; // A per-thread stream to be used by event handlers for optimization.
+ public boolean
+ ioReady()
+ {
+ return (_handler._registered & operation) > 0;
+ }
+
public void
ioCompleted()
{