lib/rage/rails.rb in rage-rb-1.4.0 vs lib/rage/rails.rb in rage-rb-1.6.0

- old
+ new

@@ -20,15 +20,17 @@ # patch `ActionDispatch::Reloader` to synchronize `reload!` calls Rails.configuration.after_initialize do conditional_mutex = Module.new do def call(env) - @mutex ||= Mutex.new - if Rails.application.reloader.check! - @mutex.synchronize { super } + res = if Rails.application.reloader.check! || !$rage_code_loaded + Fiber.new(blocking: true) { super }.resume else super end + $rage_code_loaded = true + + res end end ActionDispatch::Reloader.prepend(conditional_mutex)