diff -r f6d3d9676ee4 -r d63d727ee0a6 userlibandfileserver/fileserver/sfile/sf_thread.cpp --- a/userlibandfileserver/fileserver/sfile/sf_thread.cpp Tue Dec 08 08:11:42 2009 +0100 +++ b/userlibandfileserver/fileserver/sfile/sf_thread.cpp Mon Jan 04 12:25:19 2010 +0100 @@ -595,9 +595,13 @@ iRequest->Process(); if(iExit) - break; + { + //Any requests that sneaked on to + //the queue are cancelled in + //CRequestThread::ThreadFunction() + break; + } } - } void CRequestThread::Deliver(CFsRequest* aRequest,TBool aIsFront, TBool aLowPriority) @@ -647,8 +651,6 @@ iList.AddLast(*aRequest); iListLock.Signal(); } - - } void CRequestThread::DeliverFront(CFsRequest* aRequest) @@ -922,8 +924,14 @@ { /** @prototype */ iOperationLock.Close(); + iPlugin.Open(); } +CPluginThread::~CPluginThread() + { + iPlugin.Close(); + } + CPluginThread* CPluginThread::NewL(CFsPlugin& aPlugin) { @@ -954,7 +962,7 @@ void CPluginThread::CompleteSessionRequests(CSessionFs* aSession, TInt aValue) { - __THRD_PRINT(_L("CPluginThread::CompleteSessionReqeusts()")); + __THRD_PRINT(_L("CPluginThread::CompleteSessionRequests()")); iListLock.Wait(); TDblQueIter q(iList); CFsRequest* pR;