diff -r 75252ea6123b -r c7a0ce20c48c userlibandfileserver/fileserver/sfile/sf_plugin.cpp --- a/userlibandfileserver/fileserver/sfile/sf_plugin.cpp Mon Jul 26 10:52:56 2010 +0100 +++ b/userlibandfileserver/fileserver/sfile/sf_plugin.cpp Fri Aug 06 16:34:38 2010 +0100 @@ -247,9 +247,9 @@ } /** - Return ETrue if the calling thread is the plugin thread + Return ETrue if the request originated from this plugin */ -TBool CFsPlugin::IsPluginThread(CFsRequest& aRequest) +TBool CFsPlugin::OriginatedFromPlugin(CFsRequest& aRequest) { if(aRequest.iOwnerPlugin == this) return ETrue; @@ -361,9 +361,11 @@ CFsPlugin* plugin = this; - FsPluginManager::NextPlugin(plugin, &msgRequest,(TBool)ETrue); + FsPluginManager::ReadLockChain(); + FsPluginManager::NextPlugin(plugin, &msgRequest); msgRequest.iCurrentPlugin = plugin; msgRequest.Dispatch(); + FsPluginManager::UnlockChain(); iThreadP->OperationLockWait(); aDes.SetLength(len);