Here is a rudimentary patch against mongrel-0.3.12.4, that basically works !
I could not imagine that it would be so easy  :) 

-- 
 François SIMOND

diff -urN mongrel-0.3.12.4/lib/mongrel/rails.rb 
mongrel-0.3.12.4-rails-allow_concurrency/lib/mongrel/rails.rb
--- mongrel-0.3.12.4/lib/mongrel/rails.rb       2006-05-28 19:05:10.000000000 
+0200
+++ mongrel-0.3.12.4-rails-allow_concurrency/lib/mongrel/rails.rb       
2006-05-28 19:28:03.000000000 +0200
@@ -61,10 +61,10 @@
             cgi = Mongrel::CGIWrapper.new(request, response)
             cgi.handler = self
             
-            @guard.synchronize do
-              # Rails is not thread safe so must be run entirely within 
synchronize 
+            @guard.lock unless ActionController::Base.allow_concurrency
+              # Rails must be entirely runned within synchronisation if 
choosen in the config
               Dispatcher.dispatch(cgi, 
ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS, response.body)
-            end
+            @guard.unlock
             
             # This finalizes the output using the proper HttpResponse way
             cgi.out {""}
_______________________________________________
Mongrel-users mailing list
Mongrel-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/mongrel-users

Reply via email to