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
부모 6561d4e040
커밋 2ccb75974b
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제

파일 보기

@ -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;