From 2eb2ec9e635c740684673495ed547d1c0769038d Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Thu, 18 Dec 2008 12:00:54 -0600 Subject: Move gaint lock into middleware --- actionpack/lib/action_controller/lock.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 actionpack/lib/action_controller/lock.rb (limited to 'actionpack/lib/action_controller/lock.rb') diff --git a/actionpack/lib/action_controller/lock.rb b/actionpack/lib/action_controller/lock.rb new file mode 100644 index 0000000000..b4b0902f18 --- /dev/null +++ b/actionpack/lib/action_controller/lock.rb @@ -0,0 +1,18 @@ +module ActionController + class Lock + def initialize(app) + @app = app + @lock = Mutex.new + end + + def call(env) + old_multithread = env["rack.multithread"] + env["rack.multithread"] = false + response = @lock.synchronize do + @app.call(env) + end + env["rack.multithread"] = old_multithread + response + end + end +end -- cgit v1.2.3