From 896b8661e0df2f8100a3130f73df411582797b5a Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Mon, 22 Jun 2009 14:13:00 +0000 Subject: [PATCH] Cleanup of flushing database, bug 220392 --- .../eclipse/cdt/internal/core/pdom/db/Database.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java index 9e256d33d85..cc777f34ca1 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java @@ -604,13 +604,11 @@ public class Database { private void flushAndUnlockChunks(final ArrayList dirtyChunks, boolean isComplete) throws CoreException { assert !Thread.holdsLock(fCache); synchronized(fHeaderChunk) { - if (!fHeaderChunk.fDirty) { - if (!(isComplete && fIsMarkedIncomplete)) { - return; - } - } - if (!dirtyChunks.isEmpty()) { + final boolean haveDirtyChunks = !dirtyChunks.isEmpty(); + if (haveDirtyChunks || fHeaderChunk.fDirty) { markFileIncomplete(); + } + if (haveDirtyChunks) { for (Chunk chunk : dirtyChunks) { if (chunk.fDirty) { chunk.flush();