diff --git a/include/boost/asio/detail/impl/socket_ops.ipp b/include/boost/asio/detail/impl/socket_ops.ipp index dc068e0e..dc8ccf63 100644 --- a/include/boost/asio/detail/impl/socket_ops.ipp +++ b/include/boost/asio/detail/impl/socket_ops.ipp @@ -851,6 +851,10 @@ void complete_iocp_recv(state_type state, { ec = boost::asio::error::connection_refused; } + else if (ec.value() == ERROR_MORE_DATA) + { + ec = boost::asio::error::message_size; + } // Check for connection closed. else if (!ec && bytes_transferred == 0 @@ -990,6 +994,10 @@ void complete_iocp_recvfrom( { ec = boost::asio::error::connection_refused; } + else if (ec.value() == ERROR_MORE_DATA) + { + ec = boost::asio::error::message_size; + } } #else // defined(BOOST_ASIO_HAS_IOCP)