diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/common/sosserver/src/nsmlsossession.cpp --- a/syncmlfw/common/sosserver/src/nsmlsossession.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/common/sosserver/src/nsmlsossession.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -2123,7 +2123,10 @@ // Acquire mutex RMutex mutex; TInt mutexError = NSmlGrabMutex( mutex, KNSmlSOSServerMutexName() ); - + if ( !mutexError ) + { + CleanupClosePushL( mutex ); + } switch ( aProgressEventItem.iEventType ) { case ENSmlSyncError: @@ -2173,12 +2176,14 @@ default: break; }; - + if ( !mutexError ) { - mutex.Signal(); // Finished buffering - mutex.Close(); - } + // Release mutex + mutex.Signal(); // Finished buffering + CleanupStack::PopAndDestroy( &mutex ); + } + // Handle buffered progress events TRAP_IGNORE( CompleteBufferedProgressEventL() );