From a267b68ad921d115615abfc15de25a947e86fe38 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 11 Oct 2009 20:54:05 -0700 Subject: Fix graceful shutdowns for threaded models They were completely broken in the refactoring :x --- lib/rainbows/base.rb | 2 +- lib/rainbows/thread_pool.rb | 2 +- lib/rainbows/thread_spawn.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/rainbows') diff --git a/lib/rainbows/base.rb b/lib/rainbows/base.rb index 8a38117..4d5fec1 100644 --- a/lib/rainbows/base.rb +++ b/lib/rainbows/base.rb @@ -81,7 +81,7 @@ module Rainbows logger.error e.backtrace.join("\n") end - def join_threads(threads) + def join_threads(threads, worker) logger.info "Joining threads..." threads.each { |thr| thr[:quit] = true } t0 = Time.now diff --git a/lib/rainbows/thread_pool.rb b/lib/rainbows/thread_pool.rb index 647436b..ba85051 100644 --- a/lib/rainbows/thread_pool.rb +++ b/lib/rainbows/thread_pool.rb @@ -30,7 +30,7 @@ module Rainbows thr.join(timeout) and break end end - join_threads(threads) + join_threads(pool, worker) end def new_worker_thread diff --git a/lib/rainbows/thread_spawn.rb b/lib/rainbows/thread_spawn.rb index 77cc3f2..05068fc 100644 --- a/lib/rainbows/thread_spawn.rb +++ b/lib/rainbows/thread_spawn.rb @@ -50,7 +50,7 @@ module Rainbows rescue Object => e listen_loop_error(e) if LISTENERS.first end while LISTENERS.first && master_pid == Process.ppid - join_threads(threads.list) + join_threads(threads.list, worker) end end -- cgit v1.2.3-24-ge0c7