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