summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cpp/src/Ice/ConnectionI.cpp4
-rw-r--r--csharp/src/Ice/ConnectionI.cs4
-rw-r--r--java-compat/src/Ice/src/main/java/Ice/ConnectionI.java4
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/Ice/ConnectionI.java4
-rw-r--r--js/src/Ice/ConnectionI.js4
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;
}