userlibandfileserver/fileserver/sfile/sf_file_cache.cpp
changeset 139 95f71bcdcdb7
parent 109 b3a1d9898418
child 152 657f875b013e
equal deleted inserted replaced
109:b3a1d9898418 139:95f71bcdcdb7
  1501 						CCacheManagerFactory::CacheManager()->Stats().iWriteThroughWithDirtyDataCount++;
  1501 						CCacheManagerFactory::CacheManager()->Stats().iWriteThroughWithDirtyDataCount++;
  1502 #endif
  1502 #endif
  1503 					// Need to reset currentOperation.iReadWriteArgs.iTotalLength here to make sure 
  1503 					// Need to reset currentOperation.iReadWriteArgs.iTotalLength here to make sure 
  1504 					// TFsFileWrite::PostInitialise() doesn't think there's no data left to process
  1504 					// TFsFileWrite::PostInitialise() doesn't think there's no data left to process
  1505 					aMsgRequest.ReStart();
  1505 					aMsgRequest.ReStart();
       
  1506 					
       
  1507 					//Need to preserve the current state otherwise if we are over the ram threshold 
       
  1508 					//the request can end up in a livelock trying to repeatedly flush.
       
  1509 					currentOperation->iState = EStWriteThrough;
       
  1510 					
  1506 					if (r == CFsRequest::EReqActionBusy || r != CFsRequest::EReqActionComplete)
  1511 					if (r == CFsRequest::EReqActionBusy || r != CFsRequest::EReqActionComplete)
  1507 						return r;
  1512 						return r;
  1508 					}
  1513 					}
  1509 
  1514 
  1510 				retCode = CFsRequest::EReqActionContinue;
  1515 				retCode = CFsRequest::EReqActionContinue;