From aad1b851fbeb4e0104addf7128a65d1cb75c1f9d Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Thu, 20 May 2010 12:39:12 +0000 Subject: [PATCH] Limit number of OOM Errors swallowed by the indexer to 5. --- .../eclipse/cdt/internal/core/pdom/AbstractIndexerTask.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/AbstractIndexerTask.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/AbstractIndexerTask.java index acf9cf12ed9..f8c301c6129 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/AbstractIndexerTask.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/AbstractIndexerTask.java @@ -183,6 +183,7 @@ public abstract class AbstractIndexerTask extends PDOMWriter { private final boolean fIsFastIndexer; private long fFileSizeLimit= 0; private InternalFileContentProvider fCodeReaderFactory; + private int fSwallowOutOfMemoryError= 5; public AbstractIndexerTask(Object[] filesToUpdate, Object[] filesToRemove, IndexerInputAdapter resolver, boolean fastIndexer) { super(resolver); @@ -765,6 +766,8 @@ public abstract class AbstractIndexerTask extends PDOMWriter { } catch (AssertionError e) { th= e; } catch (OutOfMemoryError e) { + if (--fSwallowOutOfMemoryError < 0) + throw e; th= e; } if (th != null) {