Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2015-09-21 01:33:35 +0000
committerGreg Wilkins2015-09-21 01:39:29 +0000
commit3c4eb5c4f6432ce508aad00a82c1cf62d3ae035d (patch)
treeba613e1cf0e6424429c39e929d90169e68977de9
parentb36b2a9458012f0073e5941e9e5e3fdb96d5cc88 (diff)
downloadorg.eclipse.jetty.project-3c4eb5c4f6432ce508aad00a82c1cf62d3ae035d.tar.gz
org.eclipse.jetty.project-3c4eb5c4f6432ce508aad00a82c1cf62d3ae035d.tar.xz
org.eclipse.jetty.project-3c4eb5c4f6432ce508aad00a82c1cf62d3ae035d.zip
477817 Fixed memory leak in QueuedThreadPool
Conflicts: jetty-util/src/main/java/org/eclipse/jetty/util/thread/QueuedThreadPool.java
-rw-r--r--jetty-util/src/main/java/org/eclipse/jetty/util/thread/QueuedThreadPool.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/thread/QueuedThreadPool.java b/jetty-util/src/main/java/org/eclipse/jetty/util/thread/QueuedThreadPool.java
index 5a71f7b34e..f8d2334918 100644
--- a/jetty-util/src/main/java/org/eclipse/jetty/util/thread/QueuedThreadPool.java
+++ b/jetty-util/src/main/java/org/eclipse/jetty/util/thread/QueuedThreadPool.java
@@ -24,13 +24,13 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import org.eclipse.jetty.util.BlockingArrayQueue;
+import org.eclipse.jetty.util.ConcurrentHashSet;
import org.eclipse.jetty.util.annotation.ManagedAttribute;
import org.eclipse.jetty.util.annotation.ManagedObject;
import org.eclipse.jetty.util.annotation.ManagedOperation;
@@ -51,7 +51,7 @@ public class QueuedThreadPool extends AbstractLifeCycle implements SizedThreadPo
private final AtomicInteger _threadsStarted = new AtomicInteger();
private final AtomicInteger _threadsIdle = new AtomicInteger();
private final AtomicLong _lastShrink = new AtomicLong();
- private final ConcurrentLinkedQueue<Thread> _threads = new ConcurrentLinkedQueue<>();
+ private final ConcurrentHashSet<Thread> _threads=new ConcurrentHashSet<Thread>();
private final Object _joinLock = new Object();
private final BlockingQueue<Runnable> _jobs;
private String _name = "qtp" + hashCode();

Back to the top