diff options
author | Eric Wong <normalperson@yhbt.net> | 2010-07-06 04:01:30 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2010-07-06 08:14:16 +0000 |
commit | 8b65858a864aa0ecfa24ccf8f910c36af0ec1ad6 (patch) | |
tree | 54425042893dc4faed151657d00fc05b54950426 /lib/rainbows/rev/client.rb | |
parent | d0a1fcaf25b10ff1d6894d50fa981f56169195f3 (diff) | |
download | rainbows-8b65858a864aa0ecfa24ccf8f910c36af0ec1ad6.tar.gz |
We shouldn't ever spew errors to the stderr/logger on client disconnects (ECONNRESET/EPIPE/etc...).
Diffstat (limited to 'lib/rainbows/rev/client.rb')
-rw-r--r-- | lib/rainbows/rev/client.rb | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/rainbows/rev/client.rb b/lib/rainbows/rev/client.rb index e0572bb..f9284e8 100644 --- a/lib/rainbows/rev/client.rb +++ b/lib/rainbows/rev/client.rb @@ -124,13 +124,11 @@ module Rainbows return if DeferredResponse === body begin - begin - rev_sendfile(body) - rescue EOFError # expected at file EOF - @deferred_bodies.shift - body.close - close if :close == @state && @deferred_bodies.empty? - end + rev_sendfile(body) + rescue EOFError # expected at file EOF + @deferred_bodies.shift + body.close + close if :close == @state && @deferred_bodies.empty? rescue => e handle_error(e) end @@ -140,6 +138,9 @@ module Rainbows end def on_close + while f = @deferred_bodies.shift + DeferredResponse === f or f.close + end CONN.delete(self) end |