Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Schwarz2013-05-14 05:00:11 -0400
committerTobias Schwarz2013-05-14 05:00:11 -0400
commit03fb42f7b5cd808eca68ea870c0be57c4527ca9f (patch)
tree4cb2eab083004250518a7f7f9964f08eafc93113
parent2b9e6a912e4600a17c58530a3affc442e08ac5c3 (diff)
downloadorg.eclipse.tcf-03fb42f7b5cd808eca68ea870c0be57c4527ca9f.tar.gz
org.eclipse.tcf-03fb42f7b5cd808eca68ea870c0be57c4527ca9f.tar.xz
org.eclipse.tcf-03fb42f7b5cd808eca68ea870c0be57c4527ca9f.zip
Target Explorer: fix events getting lost
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/internal/ChannelManager.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/internal/ChannelManager.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/internal/ChannelManager.java
index 85a4ecea5..be0e83d97 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/internal/ChannelManager.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/internal/ChannelManager.java
@@ -945,9 +945,6 @@ public final class ChannelManager extends PlatformObject implements IChannelMana
if (!forceNew) channels.put(id, channel);
if (!forceNew) refCounters.put(id, new AtomicInteger(1));
- // Redirect the channel to the next value-add in chain
- // Note: If the redirect succeeds, channel.getRemotePeer().getID() will be identical to id.
- channel.redirect(nextValueAddPeer.get() != null ? nextValueAddPeer.get().getAttributes() : attrs);
// Attach the channel listener to catch open/closed events
final IChannel finChannel = channel;
channel.addChannelListener(new IChannel.IChannelListener() {
@@ -1023,6 +1020,10 @@ public final class ChannelManager extends PlatformObject implements IChannelMana
public void congestionLevel(int level) {
}
});
+
+ // Redirect the channel to the next value-add in chain
+ // Note: If the redirect succeeds, channel.getRemotePeer().getID() will be identical to id.
+ channel.redirect(nextValueAddPeer.get() != null ? nextValueAddPeer.get().getAttributes() : attrs);
} else {
// Channel is null? Something went terrible wrong.
done.doneChainValueAdd(new Exception("Unexpected null return value from IPeer#openChannel()!"), null); //$NON-NLS-1$

Back to the top