diff -r 75252ea6123b -r c7a0ce20c48c userlibandfileserver/fileserver/sfile/sf_dir.cpp --- a/userlibandfileserver/fileserver/sfile/sf_dir.cpp Mon Jul 26 10:52:56 2010 +0100 +++ b/userlibandfileserver/fileserver/sfile/sf_dir.cpp Fri Aug 06 16:34:38 2010 +0100 @@ -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))