From 129473b7c69e08b23825a2b067ccd9860cea797e Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 7 Nov 2009 12:42:57 -0800 Subject: rev: DeferredResponse is independent of parser state In the upcoming RevThread* models, the parser may be parsing other requests already by the time DeferredResponse is called. --- lib/rainbows/rev/client.rb | 4 ++-- lib/rainbows/rev/deferred_response.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/rainbows/rev/client.rb b/lib/rainbows/rev/client.rb index d191787..c9d058e 100644 --- a/lib/rainbows/rev/client.rb +++ b/lib/rainbows/rev/client.rb @@ -20,9 +20,9 @@ module Rainbows # devices where read(2) is uninterruptable. Unfortunately, NFS and ilk # are also part of this. We'll also stick DeferredResponse bodies in # here to prevent connections from being closed on us. - def defer_body(io) + def defer_body(io, out_headers) @deferred_bodies << io - on_write_complete unless @hp.headers? # triggers a write + on_write_complete unless out_headers # triggers a write end def app_call diff --git a/lib/rainbows/rev/deferred_response.rb b/lib/rainbows/rev/deferred_response.rb index d97abbe..abf3514 100644 --- a/lib/rainbows/rev/deferred_response.rb +++ b/lib/rainbows/rev/deferred_response.rb @@ -39,7 +39,7 @@ module Rainbows else # char/block device, directory, whatever... nobody cares return response end - client.defer_body(io) + client.defer_body(io, out) [ response.first, headers.to_hash, [] ] end -- cgit v1.2.3-24-ge0c7