From 838b5befc6a2ebb83636df0131acdaa70b55c873 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Thu, 22 Aug 2013 13:23:05 -0700 Subject: [PATCH] Fix PrefilledReadStream::close to use lowest_layer --- .../handshake/beast_PrefilledReadStream.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Subtrees/beast/modules/beast_asio/handshake/beast_PrefilledReadStream.h b/Subtrees/beast/modules/beast_asio/handshake/beast_PrefilledReadStream.h index 7747398a9..0450d84e1 100644 --- a/Subtrees/beast/modules/beast_asio/handshake/beast_PrefilledReadStream.h +++ b/Subtrees/beast/modules/beast_asio/handshake/beast_PrefilledReadStream.h @@ -108,12 +108,19 @@ public: void close() { - m_next_layer.close(); + error_code ec; + if (close(ec)) + throw_error (ec, __FILE__, __LINE__); + return ec; } - error_code close(error_code& ec) + error_code close (error_code& ec) { - return m_next_layer.close(ec); + // VFALCO NOTE This is questionable. We can't + // call m_next_layer.close() because Stream might not + // support that function. For example, ssl::stream has no close() + // + return lowest_layer ().close(ec); } template