# HG changeset patch # User Dario Sestito # Date 1272642513 -3600 # Node ID 75c06c88bfa367e9812b4084d1f07bb0d966f831 # Parent 6d5320894977933f0b0a099c2e1188f63aa77b39# Parent 9bab6ffc7f45d073360c2b0caf1aa6a67023dd8d Merge fix for bug 2611 diff -r 6d5320894977 -r 75c06c88bfa3 linklayercontrol/networkinterfacemgr/agentprcore/src/tunnelagentcpr.cpp --- a/linklayercontrol/networkinterfacemgr/agentprcore/src/tunnelagentcpr.cpp Fri Apr 30 16:42:24 2010 +0100 +++ b/linklayercontrol/networkinterfacemgr/agentprcore/src/tunnelagentcpr.cpp Fri Apr 30 16:48:33 2010 +0100 @@ -65,6 +65,14 @@ LAST_NODEACTIVITY_ENTRY(KErrorTag, MeshMachine::TDoNothing) NODEACTIVITY_END() } +namespace TunnelGoneDownActivity +{ +DECLARE_DEFINE_NODEACTIVITY(ECFActivityGoneDown, TunnelGoneDown, TCFControlClient::TGoneDown) + // Our Service Provider has gone down unexpectedly (we haven't issued a TStop) + FIRST_NODEACTIVITY_ENTRY(CoreNetStates::TAwaitingGoneDown, MeshMachine::TNoTag) + LAST_NODEACTIVITY_ENTRY(KNoTag, MeshMachine::TDoNothing) +NODEACTIVITY_END() +} #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW namespace TunnelAgentCprNotificationActivity @@ -78,6 +86,7 @@ { DECLARE_DEFINE_ACTIVITY_MAP(TunnelAgentCprActivities) ACTIVITY_MAP_ENTRY(TunnelAgentCprStartActivity, TunnelCprStart) + ACTIVITY_MAP_ENTRY(TunnelGoneDownActivity, TunnelGoneDown) #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW ACTIVITY_MAP_ENTRY(TunnelAgentCprNotificationActivity, TunnelAgentCprNotification) #endif // SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW diff -r 6d5320894977 -r 75c06c88bfa3 networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp --- a/networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp Fri Apr 30 16:42:24 2010 +0100 +++ b/networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp Fri Apr 30 16:48:33 2010 +0100 @@ -229,8 +229,11 @@ THROUGH_NODEACTIVITY_ENTRY(KActiveTag, CoreNetStates::TCancelDataClientStart, MeshMachine::TNoTag) NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TStopSelf, CoreNetStates::TAwaitingDataClientStopped, CoreNetStates::TNoTagOrNoBearer) NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TSendStop, CoreNetStates::TAwaitingStopped, MeshMachine::TNoTag) - NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TSendClientLeavingRequestToServiceProvider, MeshMachine::TAwaitingLeaveComplete, TTag) - LAST_NODEACTIVITY_ENTRY(CoreNetStates::KNoBearer, IpProtoCpr::TSendStoppedAndGoneDown) + NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TSendClientLeavingRequestToServiceProvider, MeshMachine::TAwaitingLeaveComplete, TTag) + THROUGH_NODEACTIVITY_ENTRY(CoreNetStates::KNoBearer, IpProtoCpr::TSendStoppedAndGoneDown, MeshMachine::TNoTag) + //Ensure that we reset the iLinkUp flag, otherwise a Start activity blocked against this Stop activity will + //cause an assertion failure as iLinkUp will be set twice. + LAST_NODEACTIVITY_ENTRY(KNoTag, IpProtoCpr::TLinkDown) NODEACTIVITY_END() }