wesnothd: properly shutdown tls connection without leaving clients hanging
This commit is contained in:
parent
734a99c781
commit
4c63401607
1 changed files with 3 additions and 1 deletions
|
@ -1921,7 +1921,9 @@ void server::disconnect_player(player_iterator player)
|
|||
{
|
||||
utils::visit([](auto&& socket) {
|
||||
if constexpr (utils::decayed_is_same<tls_socket_ptr, decltype(socket)>) {
|
||||
socket->async_shutdown([socket](const boost::system::error_code&) {});
|
||||
socket->async_shutdown([socket](...) {});
|
||||
const char buffer[] = "";
|
||||
async_write(*socket, boost::asio::buffer(buffer), [socket](...) { socket->lowest_layer().close(); });
|
||||
} else {
|
||||
socket->lowest_layer().shutdown(boost::asio::ip::tcp::socket::shutdown_receive);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue