From 91a6f964afa76cd0a7c5dd59defadc6d26c6794c Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Sat, 15 Jun 2013 01:41:18 -0700 Subject: [PATCH] In AutoSocket::async_shutdown, pass the error code to the handler, don't throw it. --- src/cpp/ripple/AutoSocket.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/cpp/ripple/AutoSocket.h b/src/cpp/ripple/AutoSocket.h index e9dbf5b6b..8e5cfdce6 100644 --- a/src/cpp/ripple/AutoSocket.h +++ b/src/cpp/ripple/AutoSocket.h @@ -107,8 +107,16 @@ public: mSocket->async_shutdown(handler); else { - lowest_layer().shutdown(plain_socket::shutdown_both); - mSocket->get_io_service().post(boost::bind(handler, error_code())); + error_code ec; + try + { + lowest_layer().shutdown(plain_socket::shutdown_both); + } + catch (boost::system::system_error& e) + { + ec = e.code(); + } + mSocket->get_io_service().post(boost::bind(handler, ec)); } }