diff -r 34fc115b8742 -r 41cc8e7ff496 datacommsserver/esockserver/test/TE_EsockTestSteps/src/EsockTestBase.cpp --- a/datacommsserver/esockserver/test/TE_EsockTestSteps/src/EsockTestBase.cpp Fri Jun 11 14:52:21 2010 +0300 +++ b/datacommsserver/esockserver/test/TE_EsockTestSteps/src/EsockTestBase.cpp Wed Aug 18 10:59:59 2010 +0300 @@ -1124,6 +1124,18 @@ return error; } +TInt CCEsockTestBase::RemoveConnection(const TDesC& aConnectionName) + { + //check if this connection hasn't been created already + if (iConns.Find(aConnectionName)==NULL) + return KErrNotFound; + + iConns.Remove(aConnectionName); + return KErrNone; + } + + + TInt CCEsockTestBase::OpenConnection(const TRConnectionParams& aParams) { RSocketServ* ss = iSockServs.Find(aParams.iSockServName); @@ -1255,16 +1267,21 @@ TRequestStatus* requestStatus = NULL; if (aParams.iAsynch) { - requestStatus = new TRequestStatus; - if (requestStatus==NULL) - return KErrNoMemory; - - TInt error = iRequestStatuses.Add(requestStatus, aParams.iConnectionName); - if (error!=KErrNone) - { - delete requestStatus; - return error; - } + //The request status may well already be there (created by the previous iteration?) + requestStatus = iRequestStatuses.Find(aParams.iConnectionName); + if (requestStatus == NULL) + { + requestStatus = new TRequestStatus; + if (requestStatus==NULL) + return KErrNoMemory; + + TInt error = iRequestStatuses.Add(requestStatus, aParams.iConnectionName); + if (error!=KErrNone) + { + delete requestStatus; + return error; + } + } } TInt error;