From: Mark J. Titorenko Date: Fri, 11 Jan 2013 11:57:12 +0000 (+0000) Subject: event_machine: join reactor_thread if it is already running X-Git-Tag: v4.4.3~2 X-Git-Url: https://repo.or.cz/w/rainbows.git/commitdiff_plain/a12d2e64e04b5098f31e63a72ea8330b6c8f3a19 event_machine: join reactor_thread if it is already running ...rather than falling through worker_loop Prior to the application of this patch, if an EventMachine reactor_thread has already been started elsewhere before the worker_loop is entered, the worker_loop exits as a second call to EM.run does not block the current thread. This patch causes the worker_loop thread to join the reactor_thread if it is running. [ew: commit message formatting] Signed-off-by: Eric Wong --- diff --git a/lib/rainbows/event_machine.rb b/lib/rainbows/event_machine.rb index 3ecdb4f..b143b39 100644 --- a/lib/rainbows/event_machine.rb +++ b/lib/rainbows/event_machine.rb @@ -99,6 +99,7 @@ module Rainbows::EventMachine end end } + EM.reactor_thread.join if EM.reactor_running? end end # :enddoc: