diff options
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/src/main/java/IceInternal/Selector.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/java/src/Ice/src/main/java/IceInternal/Selector.java b/java/src/Ice/src/main/java/IceInternal/Selector.java index f6057a55d93..7d5fd3e139e 100644 --- a/java/src/Ice/src/main/java/IceInternal/Selector.java +++ b/java/src/Ice/src/main/java/IceInternal/Selector.java @@ -75,8 +75,9 @@ public final class Selector } handler._disabled = handler._disabled & ~status; - if((handler._registered & status) != 0) + if(handler._key != null && (handler._registered & status) != 0) { + // If registered with the selector, update the registration. updateImpl(handler); } } @@ -89,8 +90,9 @@ public final class Selector } handler._disabled = handler._disabled | status; - if((handler._registered & status) != 0) + if(handler._key != null && (handler._registered & status) != 0) { + // If registered with the selector, update the registration. updateImpl(handler); } } |