about summary refs log tree commit homepage
path: root/lib/rainbows
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-04-19 04:35:43 +0000
committerEric Wong <normalperson@yhbt.net>2011-04-19 08:15:03 +0000
commit15505863ce2080bdf342930530acc35c0d112df1 (patch)
treee881b713f0189dccb6d63d5cedbb9a1f81bf0c96 /lib/rainbows
parent367ba00d2f3a4e9a0fa848d076f97f754a9d7cc5 (diff)
downloadrainbows-15505863ce2080bdf342930530acc35c0d112df1.tar.gz
Ugh the old way was gross.
Diffstat (limited to 'lib/rainbows')
-rw-r--r--lib/rainbows/http_server.rb11
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/rainbows/http_server.rb b/lib/rainbows/http_server.rb
index 0fb60fe..6d704f4 100644
--- a/lib/rainbows/http_server.rb
+++ b/lib/rainbows/http_server.rb
@@ -41,12 +41,11 @@ class Rainbows::HttpServer < Unicorn::HttpServer
     @worker_connections ||= Rainbows::MODEL_WORKER_CONNECTIONS[@use]
   end
 
-  def ready_pipe=(v)
-    # hacky hook got force Rainbows! to load modules only in workers
-    if defined?(@master_pid) && @master_pid == Process.ppid
-      extend(Rainbows.const_get(@use))
-    end
-    super
+  def worker_loop(worker)
+    orig = method(:worker_loop)
+    extend(Rainbows.const_get(@use))
+    m = method(:worker_loop)
+    orig == m ? super(worker) : worker_loop(worker)
   end
 
   def use(*args)