diff options
-rw-r--r-- | cpp/src/Ice/ConnectionI.cpp | 4 | ||||
-rw-r--r-- | csharp/src/Ice/ConnectionI.cs | 4 | ||||
-rw-r--r-- | java-compat/src/Ice/src/main/java/Ice/ConnectionI.java | 4 | ||||
-rw-r--r-- | java/src/Ice/src/main/java/com/zeroc/Ice/ConnectionI.java | 4 | ||||
-rw-r--r-- | js/src/Ice/ConnectionI.js | 4 |
5 files changed, 20 insertions, 0 deletions
diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp index e65b877e718..46921ad21e2 100644 --- a/cpp/src/Ice/ConnectionI.cpp +++ b/cpp/src/Ice/ConnectionI.cpp @@ -1066,6 +1066,10 @@ void Ice::ConnectionI::setHeartbeatCallback(ICE_IN(ICE_DELEGATE(HeartbeatCallback)) callback) { IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this); + if(_state >= StateClosed) + { + return; + } _heartbeatCallback = callback; } diff --git a/csharp/src/Ice/ConnectionI.cs b/csharp/src/Ice/ConnectionI.cs index a191988d800..82e3f48a861 100644 --- a/csharp/src/Ice/ConnectionI.cs +++ b/csharp/src/Ice/ConnectionI.cs @@ -594,6 +594,10 @@ namespace Ice { lock(this) { + if(_state >= StateClosed) + { + return; + } _heartbeatCallback = callback; } } diff --git a/java-compat/src/Ice/src/main/java/Ice/ConnectionI.java b/java-compat/src/Ice/src/main/java/Ice/ConnectionI.java index 510f7f8f680..ee3fc5ded4c 100644 --- a/java-compat/src/Ice/src/main/java/Ice/ConnectionI.java +++ b/java-compat/src/Ice/src/main/java/Ice/ConnectionI.java @@ -541,6 +541,10 @@ public final class ConnectionI extends IceInternal.EventHandler @Override synchronized public void setHeartbeatCallback(final HeartbeatCallback callback) { + if(_state >= StateClosed) + { + return; + } _heartbeatCallback = callback; } diff --git a/java/src/Ice/src/main/java/com/zeroc/Ice/ConnectionI.java b/java/src/Ice/src/main/java/com/zeroc/Ice/ConnectionI.java index db8a848147f..225777776c1 100644 --- a/java/src/Ice/src/main/java/com/zeroc/Ice/ConnectionI.java +++ b/java/src/Ice/src/main/java/com/zeroc/Ice/ConnectionI.java @@ -498,6 +498,10 @@ public final class ConnectionI extends com.zeroc.IceInternal.EventHandler @Override synchronized public void setHeartbeatCallback(final HeartbeatCallback callback) { + if(_state >= StateClosed) + { + return; + } _heartbeatCallback = callback; } diff --git a/js/src/Ice/ConnectionI.js b/js/src/Ice/ConnectionI.js index 5c631d2e045..4a7ff409382 100644 --- a/js/src/Ice/ConnectionI.js +++ b/js/src/Ice/ConnectionI.js @@ -489,6 +489,10 @@ class ConnectionI setHeartbeatCallback(callback) { + if(this._state >= StateClosed) + { + return; + } this._heartbeatCallback = callback; } |