diff -r 43365a9b78a3 -r d8d70de2bd36 userlibandfileserver/fileserver/sfile/sf_plugin.h --- a/userlibandfileserver/fileserver/sfile/sf_plugin.h Tue Jul 06 15:50:07 2010 +0300 +++ b/userlibandfileserver/fileserver/sfile/sf_plugin.h Wed Aug 18 11:08:29 2010 +0300 @@ -21,7 +21,7 @@ #include "message.h" #include -#include +#include class CFsSyncMessageScheduler; class CFsInternalRequest; @@ -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;