diff options
author | Eike Stepper | 2013-06-11 10:54:29 +0000 |
---|---|---|
committer | Eike Stepper | 2013-06-11 10:54:29 +0000 |
commit | 253edab67bb3efacc2794b77c44d0c749d1caeee (patch) | |
tree | 140461945a7177f9d55915232aaf7de3777875c0 /plugins/org.eclipse.net4j | |
parent | 50a804b7fe45dbed1d7b7ead2e33597631c731bb (diff) | |
download | cdo-253edab67bb3efacc2794b77c44d0c749d1caeee.tar.gz cdo-253edab67bb3efacc2794b77c44d0c749d1caeee.tar.xz cdo-253edab67bb3efacc2794b77c44d0c749d1caeee.zip |
[410446] FailOverMonitor might not deactivate properly
https://bugs.eclipse.org/bugs/show_bug.cgi?id=410446
Diffstat (limited to 'plugins/org.eclipse.net4j')
-rw-r--r-- | plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalProtocol.java | 23 | ||||
-rw-r--r-- | plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.java | 10 |
2 files changed, 22 insertions, 11 deletions
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalProtocol.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalProtocol.java index e76e6da6cb..9a3da8dd5f 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalProtocol.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/SignalProtocol.java @@ -290,19 +290,24 @@ public class SignalProtocol<INFRA_STRUCTURE> extends Protocol<INFRA_STRUCTURE> i @Override protected void doDeactivate() throws Exception { - synchronized (signals) + try { - signals.clear(); - } + synchronized (signals) + { + signals.clear(); + } - IChannel channel = getChannel(); - if (channel != null) + IChannel channel = getChannel(); + if (channel != null) + { + channel.close(); + setChannel(null); + } + } + finally { - channel.close(); - setChannel(null); + super.doDeactivate(); } - - super.doDeactivate(); } @Override diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.java index 70856f9921..e0b79d4e7f 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/heartbeat/HeartBeatProtocol.java @@ -258,8 +258,14 @@ public class HeartBeatProtocol extends SignalProtocol<Object> @Override protected void doDeactivate() throws Exception { - cancelHeartBeatTask(); - super.doDeactivate(); + try + { + cancelHeartBeatTask(); + } + finally + { + super.doDeactivate(); + } } /** |