From 2dd3e22782090dc347429e306569f687fa794d06 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 8 Feb 2010 17:14:41 -0800 Subject: Allow :reentrant flag to be forced true/false Clogger may set this value independently of "rack.multithread" since Actor/Fiber-based servers may have multiple instances of Clogger wrapping different response bodies and yet be incompatible with "rack.multithread" --- lib/clogger/pure.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/clogger/pure.rb') diff --git a/lib/clogger/pure.rb b/lib/clogger/pure.rb index 0c609ba..b871c62 100644 --- a/lib/clogger/pure.rb +++ b/lib/clogger/pure.rb @@ -13,7 +13,7 @@ class Clogger (@logger.sync = true) rescue nil @fmt_ops = compile_format(opts[:format] || Format::Common, opts) @wrap_body = need_wrap_body?(@fmt_ops) - @reentrant = nil + @reentrant = opts[:reentrant] @need_resp = need_response_headers?(@fmt_ops) @body_bytes_sent = 0 end @@ -28,7 +28,7 @@ class Clogger status, headers, body = resp headers = Rack::Utils::HeaderHash.new(headers) if @need_resp if @wrap_body - @reentrant = env['rack.multithread'] + @reentrant = env['rack.multithread'] if @reentrant.nil? @env, @status, @headers, @body = env, status, headers, body return [ status, headers, @reentrant ? self.dup : self ] end -- cgit v1.2.3-24-ge0c7