diff -r 43365a9b78a3 -r d8d70de2bd36 userlibandfileserver/fileserver/sfile/sf_dir.cpp --- a/userlibandfileserver/fileserver/sfile/sf_dir.cpp Tue Jul 06 15:50:07 2010 +0300 +++ b/userlibandfileserver/fileserver/sfile/sf_dir.cpp Wed Aug 18 11:08:29 2010 +0300 @@ -116,7 +116,8 @@ CFsPlugin* plugin = NULL; //Get the next plugin which is mounted on this drive (IsMounted called in NextPlugin) //Do not check whether we're registered for current operation (in case not registered for EFsDirOpen) - while(FsPluginManager::NextPlugin(plugin,(CFsMessageRequest*)aRequest,(TBool)ETrue,(TBool)EFalse)==KErrNone && plugin) + FsPluginManager::ReadLockChain(); //!Check operation + while(FsPluginManager::NextPlugin(plugin,(CFsMessageRequest*)aRequest,(TBool)EFalse)==KErrNone && plugin) { if(plugin->IsRegistered(EFsDirReadOne) || plugin->IsRegistered(EFsDirReadPacked) || @@ -129,6 +130,7 @@ break; } } + FsPluginManager::UnlockChain(); TPtrC8 pH((TUint8*)&h,sizeof(TInt)); TRAP(r,aRequest->WriteL(KMsgPtr3,pH))