diff -r ef2a444a7410 -r b3a1d9898418 userlibandfileserver/fileserver/sfile/sf_file_cache.cpp --- a/userlibandfileserver/fileserver/sfile/sf_file_cache.cpp Mon May 03 13:47:38 2010 +0300 +++ b/userlibandfileserver/fileserver/sfile/sf_file_cache.cpp Fri May 14 17:13:29 2010 +0300 @@ -1594,17 +1594,13 @@ void CFileCache::PropagateFlushErrorToAllFileShares() { - FileShares->Lock(); - TInt count = FileShares->Count(); - while(count--) + ASSERT(IsDriveThread()); + TDblQueIter fileShareIter(iFileCB->FileShareList()); + CFileShare* pFileShare; + while ((pFileShare = fileShareIter++) != NULL) { - CFileShare* share = (CFileShare*)(*FileShares)[count]; - if (&share->File() == iFileCB) - { - share->iFlushError = iFlushError; - } + pFileShare->iFlushError = iFlushError; } - FileShares->Unlock(); } /**