diff --git a/CHANGELOG.md b/CHANGELOG.md index 611be666..a3010924 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ WebSocket: * Refactor write_op * Refactor ping_op * Refactor fail_op +* Refactor read_op -------------------------------------------------------------------------------- diff --git a/include/boost/beast/websocket/impl/read.ipp b/include/boost/beast/websocket/impl/read.ipp index 9bd094d3..88f04410 100644 --- a/include/boost/beast/websocket/impl/read.ipp +++ b/include/boost/beast/websocket/impl/read.ipp @@ -976,6 +976,12 @@ read_some( using boost::asio::buffer; using boost::asio::buffer_cast; using boost::asio::buffer_size; + // Make sure the stream is open + if(failed_) + { + ec = boost::asio::error::operation_aborted; + return 0; + } close_code code{}; std::size_t bytes_written = 0; loop: