diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/ds/syncagent/src/nsmldscontent.cpp --- a/syncmlfw/ds/syncagent/src/nsmldscontent.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/ds/syncagent/src/nsmldscontent.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -2410,9 +2410,9 @@ { TInt result( KErrNone ); CDesCArrayFlat* storeNames = new ( ELeave ) CDesCArrayFlat( 1 ); - + CleanupStack::PushL(storeNames); iHostClient->ListStoresL( storeNames, iStores[iIndex]->iImplementationUID, result ); - + CleanupStack::Pop(storeNames); return storeNames; } @@ -2476,11 +2476,16 @@ DBG_FILE(_S8("CNSmlDSContent::PackupRequestL begins")); RMutex mutex; if(mutex.OpenGlobal( KNSmlDSContentAtomicOperationName ) != KErrNone ) - mutex.CreateGlobal( KNSmlDSContentAtomicOperationName ); + { + TInt createErr (mutex.CreateGlobal( KNSmlDSContentAtomicOperationName )); + if (( createErr != KErrNone )&& (createErr != KErrAlreadyExists)) + return; + } + CleanupClosePushL(mutex); mutex.Wait(); SaveMapInfoL( aAnchor ); mutex.Signal(); - mutex.Close(); + CleanupStack::PopAndDestroy(&mutex); // mutex DBG_FILE(_S8("CNSmlDSContent::PackupRequestL ends")); }