diff -r 75252ea6123b -r c7a0ce20c48c userlibandfileserver/fileserver/sfile/sf_plugin.h --- a/userlibandfileserver/fileserver/sfile/sf_plugin.h Mon Jul 26 10:52:56 2010 +0100 +++ b/userlibandfileserver/fileserver/sfile/sf_plugin.h Fri Aug 06 16:34:38 2010 +0100 @@ -60,8 +60,8 @@ static TInt InstallPluginFactory(CFsPluginFactory* aFactory,RLibrary aLib); static CFsPluginFactory* GetPluginFactory(const TDesC& aName); - static TInt NextPlugin(CFsPlugin*& aPlugin, CFsMessageRequest* aMsgRequest, TBool aLock, TBool aCheckCurrentOperation=ETrue); - static TInt PrevPlugin(CFsPlugin*& aPlugin, CFsMessageRequest* aMsgRequest, TBool aLock); + static TInt NextPlugin(CFsPlugin*& aPlugin, CFsMessageRequest* aMsgRequest, TBool aCheckCurrentOperation=ETrue); + static TInt PrevPlugin(CFsPlugin*& aPlugin, CFsMessageRequest* aMsgRequest); static TInt InsertInPluginStack(CFsPlugin*& aPlugin,TInt aPos); static TInt IsInChain(TInt aUPos, TInt aPos,TInt aDrive, CFsPluginFactory* aPluginFactory); static CFsPlugin* FindByUniquePosition(TInt aPos); @@ -72,7 +72,8 @@ static TInt ChainCount(); static TInt Plugin(CFsPlugin*& aPlugin, TInt aPos); - static void LockChain(); + static void ReadLockChain(); + static void WriteLockChain(); static void UnlockChain(); static CFsPluginConn* CreatePluginConnL(TInt aUniquePosition, TUint aClientId); @@ -91,7 +92,7 @@ static CFsObjectCon* iPluginConns; static RPointerArray iPluginChain; - static RFastLock iChainLock; + static RReadWriteLock iChainLock; static CFsSyncMessageScheduler* iScheduler;