From 67431ec9f764066e88d7934bc71fa32e8a4ec425 Mon Sep 17 00:00:00 2001
From: Rene Brun <Rene.Brun@cern.ch>
Date: Wed, 7 Nov 2007 07:16:41 +0000
Subject: [PATCH] From Gerri: Fix an important bug introduced in the latest
 change by Fabrizio.

git-svn-id: http://root.cern.ch/svn/root/trunk@20692 27541ba8-7e3a-0410-8455-c3a389f83636
---
 io/src/TFileCacheRead.cxx | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/io/src/TFileCacheRead.cxx b/io/src/TFileCacheRead.cxx
index f3771f9e7fd..8cca6f7ebbb 100644
--- a/io/src/TFileCacheRead.cxx
+++ b/io/src/TFileCacheRead.cxx
@@ -93,12 +93,13 @@ TFileCacheRead::TFileCacheRead(TFile *file, Int_t buffersize)
    fFirstIndexToPrefetch = 0;
    fAsyncReading = gEnv->GetValue("TFile.AsyncReading", 1);
    if (fAsyncReading) {
-      // If asynchronous reading is not supported by this TFile specialization
+      // Check if asynchronous reading is supported by this TFile specialization
+      fAsyncReading = kFALSE;
+      if (file && !(file->ReadBufferAsync(0, 0)))
+         fAsyncReading = kTRUE;
+   } else {
       // we use sync primitives, hence we need the local buffer
-      if (file && file->ReadBufferAsync(0, 0)) {
-         fAsyncReading = kFALSE;
-         fBuffer    = new char[fBufferSize];
-      }
+      fBuffer = new char[fBufferSize];
    }
 
    fIsSorted    = kFALSE;
-- 
GitLab