diff -r 928ed51ddc43 -r 68ef71f0cd72 datacommsserver/esockserver/core_states/ss_coreprstates.cpp --- a/datacommsserver/esockserver/core_states/ss_coreprstates.cpp Tue Jan 26 13:09:14 2010 +0200 +++ b/datacommsserver/esockserver/core_states/ss_coreprstates.cpp Tue Feb 02 00:53:00 2010 +0200 @@ -2092,10 +2092,11 @@ EXPORT_DEFINE_SMELEMENT(TCancelDataClientStart, NetStateMachine::MStateTransition, PRStates::TContext) EXPORT_C void TCancelDataClientStart::DoL() { - // Cancel must come from the same activity that sent TStart - // This transition will handle Data Clients started by ECFActivityStart - // it will not handle those started by ECFActivityStartDataClient - RClientInterface::OpenPostMessageClose(TNodeCtxId(ECFActivityStart, iContext.NodeId()), iContext.NodeId(), TEBase::TCancel().CRef()); + CNodeActivityBase* dcstart = iContext.Node().FindActivityById(ECFActivityStartDataClient); + if (dcstart) + { + dcstart->Cancel(iContext); + } } EXPORT_DEFINE_SMELEMENT(TProcessDataClientStop, NetStateMachine::MStateTransition, PRStates::TContext)