5
4
Derivar 9

Fix a rare crash caused by a stopped client still being in write_ready_clients

Vitaliy Filippov 2020-10-30 01:04:58 +03:00
ascendente 6561d4e040
cometimento 2ccb75974b
1 ficheiros modificados com 2 adições e 1 eliminações

Ver ficheiro

@ -153,7 +153,8 @@ void osd_messenger_t::send_replies()
for (int i = 0; i < write_ready_clients.size(); i++)
{
int peer_fd = write_ready_clients[i];
if (!try_send(clients[peer_fd]))
auto cl_it = clients.find(peer_fd);
if (cl_it != clients.end() && !try_send(cl_it->second))
{
write_ready_clients.erase(write_ready_clients.begin(), write_ready_clients.begin() + i);
return;