diff options
author | Greg Wilkins | 2015-09-21 01:33:35 +0000 |
---|---|---|
committer | Greg Wilkins | 2015-09-21 01:42:08 +0000 |
commit | f708f79b13afdd43f73b0ce116af81b94597a561 (patch) | |
tree | 83d173d13edc1bcd41d3bf42dcddf7f8ab422fb9 /jetty-util | |
parent | d0bc20385afc379e43ab2aa4eb8e42cfdc1163b1 (diff) | |
download | org.eclipse.jetty.project-f708f79b13afdd43f73b0ce116af81b94597a561.tar.gz org.eclipse.jetty.project-f708f79b13afdd43f73b0ce116af81b94597a561.tar.xz org.eclipse.jetty.project-f708f79b13afdd43f73b0ce116af81b94597a561.zip |
477817 Fixed memory leak in QueuedThreadPool
Conflicts:
jetty-util/src/main/java/org/eclipse/jetty/util/thread/QueuedThreadPool.java
Diffstat (limited to 'jetty-util')
-rwxr-xr-x | jetty-util/src/main/java/org/eclipse/jetty/util/thread/QueuedThreadPool.java | 4 |
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 7726bf0a00..57aa7c5f6d 100755 --- 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 final ThreadGroup _threadGroup; |