diff -r a179b74831c9 -r c1f20ce4abcf userlibandfileserver/fileserver/sfile/sf_plugin.cpp --- a/userlibandfileserver/fileserver/sfile/sf_plugin.cpp Thu Aug 19 11:14:22 2010 +0300 +++ b/userlibandfileserver/fileserver/sfile/sf_plugin.cpp Tue Aug 31 16:34:26 2010 +0300 @@ -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);