diff options
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/ConnectionI.java | 5 | ||||
-rw-r--r-- | java/src/IceInternal/ThreadPoolCurrent.java | 6 |
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() { |