diff options
author | Thomas Watson | 2016-05-10 21:04:19 +0000 |
---|---|---|
committer | Thomas Watson | 2016-06-13 17:41:14 +0000 |
commit | e4c242ee27ad748eb7c1545070ba98a1d88f6afb (patch) | |
tree | ec364142604ba4d414d6101e891af2732c000ba2 /bundles/org.eclipse.osgi/container | |
parent | 020f1ca13bcbbf5d60f1e41d022f37db734db63b (diff) | |
download | rt.equinox.framework-e4c242ee27ad748eb7c1545070ba98a1d88f6afb.tar.gz rt.equinox.framework-e4c242ee27ad748eb7c1545070ba98a1d88f6afb.tar.xz rt.equinox.framework-e4c242ee27ad748eb7c1545070ba98a1d88f6afb.zip |
Bug 493387 - Resolver timeout can be improved by overriding the Logger
used by the resolver
Change-Id: I2722ac5512e070a3fbb3e4da0e6c527c7eb1552c
Signed-off-by: Thomas Watson <tjwatson@us.ibm.com>
Diffstat (limited to 'bundles/org.eclipse.osgi/container')
-rw-r--r-- | bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleResolver.java | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleResolver.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleResolver.java index f07ff1475..9a829516b 100644 --- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleResolver.java +++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleResolver.java @@ -482,7 +482,7 @@ final class ModuleResolver { private Map<Resource, ResolutionException> errors = null; public ResolveLogger() { - super(0); + super(DEBUG_USES ? Logger.LOG_DEBUG : 0); } @Override @@ -508,6 +508,18 @@ final class ModuleResolver { Map<Resource, ResolutionException> getUsesConstraintViolations() { return errors == null ? Collections.<Resource, ResolutionException> emptyMap() : errors; } + + @Override + public boolean isDebugEnabled() { + checkTimeout(); + return DEBUG_USES; + } + + @Override + protected void doLog(int level, String msg, Throwable throwable) { + Debug.println("RESOLVER: " + msg + SEPARATOR + (throwable != null ? (TAB + TAB + throwable.getMessage()) : "")); //$NON-NLS-1$ //$NON-NLS-2$ + } + } private final ModuleResolutionReport.Builder reportBuilder = new ModuleResolutionReport.Builder(); @@ -1496,11 +1508,15 @@ final class ModuleResolver { @Override public void execute(Runnable command) { + checkTimeout(); + adaptor.getResolverExecutor().execute(command); + } + + void checkTimeout() { if (checkTimeout && resolveTimeout < System.currentTimeMillis()) { checkTimeout = false; throw new ResolutionTimeout(); } - adaptor.getResolverExecutor().execute(command); } } |