From 8487d928f9581d98aee14e1991f129422278367c Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 25 Oct 2009 16:14:49 -0700 Subject: ev_core: do not drop deferred bodies on graceful quits Graceful quit means we finish sending everything we have before exiting. Additionally, only signal quits after we've queued the error response up. --- lib/rainbows/ev_core.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'lib/rainbows/ev_core.rb') diff --git a/lib/rainbows/ev_core.rb b/lib/rainbows/ev_core.rb index aa0b155..d8304a3 100644 --- a/lib/rainbows/ev_core.rb +++ b/lib/rainbows/ev_core.rb @@ -19,12 +19,10 @@ module Rainbows # graceful exit, like SIGQUIT def quit - @deferred_bodies.clear @state = :close end def handle_error(e) - quit msg = case e when EOFError,Errno::ECONNRESET,Errno::EPIPE,Errno::EINVAL,Errno::EBADF ERROR_500_RESPONSE @@ -36,6 +34,7 @@ module Rainbows ERROR_500_RESPONSE end write(msg) + quit end def tmpio -- cgit v1.2.3-24-ge0c7