diff -r 35c06c1d4fa6 -r 07656293a99c datacommsserver/esockserver/test/TE_EsockTestSteps/src/EsockTestBase.cpp --- a/datacommsserver/esockserver/test/TE_EsockTestSteps/src/EsockTestBase.cpp Wed Jun 09 11:00:38 2010 +0300 +++ b/datacommsserver/esockserver/test/TE_EsockTestSteps/src/EsockTestBase.cpp Mon Jun 21 17:02:22 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;