We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 2710c43 commit f514ea9Copy full SHA for f514ea9
lib/concurrent/executor/ruby_thread_pool_executor.rb
@@ -254,10 +254,11 @@ def handle_overflow(*args)
254
# @!visibility private
255
def prune_pool
256
if Time.now.to_f - @gc_interval >= @last_gc_time
257
- @pool.delete_if do |worker|
258
- worker.dead? ||
259
- (@idletime == 0 ? false : Time.now.to_f - @idletime > worker.last_activity)
260
- end
+ @pool.delete_if { |worker| worker.dead? }
+ # send :stop for each thread over idletime
+ @pool.
+ select { |worker| @idletime != 0 && Time.now.to_f - @idletime > worker.last_activity }.
261
+ each { @queue << :stop }
262
@last_gc_time = Time.now.to_f
263
end
264
0 commit comments