From af7cd3cc040c0a3ade795ea59c14ffd75187e7f7 Mon Sep 17 00:00:00 2001 From: Miguel Portilla Date: Mon, 11 Aug 2014 15:06:26 -0400 Subject: [PATCH] Fix unhandled exception in async HTTP server (RIPD-475) --- src/ripple/http/impl/Peer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ripple/http/impl/Peer.cpp b/src/ripple/http/impl/Peer.cpp index 9af4e6281..5f11172bf 100644 --- a/src/ripple/http/impl/Peer.cpp +++ b/src/ripple/http/impl/Peer.cpp @@ -202,7 +202,7 @@ Peer::handle_write (error_code ec, std::size_t bytes_transferred, bassert (writesPending_ > 0); if (--writesPending_ == 0 && closed_) - socket_->shutdown (socket::shutdown_send); + socket_->shutdown (socket::shutdown_send, ec); } // Called when async_read_some completes. @@ -260,7 +260,7 @@ Peer::handle_read (error_code ec, std::size_t bytes_transferred) request_timer_.cancel(); if (! socket_->needs_handshake()) - socket_->shutdown (socket::shutdown_receive); + socket_->shutdown (socket::shutdown_receive, ec); handle_request (); return; @@ -347,7 +347,7 @@ Peer::cancel () data_timer_.cancel (ec); request_timer_.cancel (ec); socket_->cancel (ec); - socket_->shutdown (socket::shutdown_both); + socket_->shutdown (socket::shutdown_both, ec); } // Called by a completion handler when error is not eof or aborted.