WindowServer: Fix client fd leaks
This commit is contained in:
@@ -380,6 +380,7 @@ int main()
|
|||||||
{
|
{
|
||||||
epoll_ctl(g_epoll_fd, EPOLL_CTL_DEL, client_fd, nullptr);
|
epoll_ctl(g_epoll_fd, EPOLL_CTL_DEL, client_fd, nullptr);
|
||||||
window_server.remove_client_fd(client_fd);
|
window_server.remove_client_fd(client_fd);
|
||||||
|
close(client_fd);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -395,6 +396,7 @@ int main()
|
|||||||
dwarnln("send: {}", strerror(errno));
|
dwarnln("send: {}", strerror(errno));
|
||||||
epoll_ctl(g_epoll_fd, EPOLL_CTL_DEL, client_fd, nullptr);
|
epoll_ctl(g_epoll_fd, EPOLL_CTL_DEL, client_fd, nullptr);
|
||||||
window_server.remove_client_fd(client_fd);
|
window_server.remove_client_fd(client_fd);
|
||||||
|
close(client_fd);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -434,6 +436,7 @@ int main()
|
|||||||
dwarnln("recv: {}", strerror(errno));
|
dwarnln("recv: {}", strerror(errno));
|
||||||
epoll_ctl(g_epoll_fd, EPOLL_CTL_DEL, client_fd, nullptr);
|
epoll_ctl(g_epoll_fd, EPOLL_CTL_DEL, client_fd, nullptr);
|
||||||
window_server.remove_client_fd(client_fd);
|
window_server.remove_client_fd(client_fd);
|
||||||
|
close(client_fd);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (nrecv > 0)
|
if (nrecv > 0)
|
||||||
@@ -494,6 +497,7 @@ int main()
|
|||||||
dwarnln("client tried to send a {} byte packet", header.size);
|
dwarnln("client tried to send a {} byte packet", header.size);
|
||||||
epoll_ctl(g_epoll_fd, EPOLL_CTL_DEL, client_fd, nullptr);
|
epoll_ctl(g_epoll_fd, EPOLL_CTL_DEL, client_fd, nullptr);
|
||||||
window_server.remove_client_fd(client_fd);
|
window_server.remove_client_fd(client_fd);
|
||||||
|
close(client_fd);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user