about summary refs log tree commit homepage
diff options
context:
space:
mode:
-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)