From bf1b970de1e49e1b94e56ff886078c92890ae228 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 1 Mar 2011 10:06:39 -0800 Subject: [PATCH] Paper bag fix BatchingProgressMonitor alarm queue The alarm queue threads were started with an empty task body, which meant the thread started and terminated immediately, leaving the queue itself with no worker. Change-Id: I2a9b5fe9c2bdff4a5e0f7ec7ad41a54b41a4ddd6 Signed-off-by: Shawn O. Pearce --- .../src/org/eclipse/jgit/lib/BatchingProgressMonitor.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/BatchingProgressMonitor.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/BatchingProgressMonitor.java index 5eb959752..bae616622 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/BatchingProgressMonitor.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/BatchingProgressMonitor.java @@ -64,13 +64,16 @@ public abstract class BatchingProgressMonitor implements ProgressMonitor { int threads = 1; alarmQueue = new ScheduledThreadPoolExecutor(threads, new ThreadFactory() { + private final ThreadFactory baseFactory = Executors + .defaultThreadFactory(); + public Thread newThread(Runnable taskBody) { - Thread thr = new Thread("JGit-AlarmQueue"); + Thread thr = baseFactory.newThread(taskBody); + thr.setName("JGit-AlarmQueue"); thr.setDaemon(true); return thr; } }); - alarmQueue.allowCoreThreadTimeOut(false); alarmQueue.setMaximumPoolSize(alarmQueue.getCorePoolSize()); alarmQueue.setContinueExistingPeriodicTasksAfterShutdownPolicy(false); alarmQueue.setExecuteExistingDelayedTasksAfterShutdownPolicy(false);