diff -r 43365a9b78a3 -r d8d70de2bd36 userlibandfileserver/fileserver/sfile/sf_plugin.cpp --- a/userlibandfileserver/fileserver/sfile/sf_plugin.cpp Tue Jul 06 15:50:07 2010 +0300 +++ b/userlibandfileserver/fileserver/sfile/sf_plugin.cpp Wed Aug 18 11:08:29 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);