diff --git a/src/server/common/server_base.cpp b/src/server/common/server_base.cpp index a18f3276bc3..ebb5efa4fe7 100644 --- a/src/server/common/server_base.cpp +++ b/src/server/common/server_base.cpp @@ -322,7 +322,11 @@ template void server_base::coro_send_doc(SocketPtr socket, simp { s.begin(), std::size_t(s.size()) } }; - async_write(*socket, buffers, yield); + boost::system::error_code ec; + async_write(*socket, buffers, yield[ec]); + if(check_error(ec, socket)) { + return; + } } catch (simple_wml::error& e) { WRN_CONFIG << __func__ << ": simple_wml error: " << e.message; throw;