fix epoll workers not closing
This commit is contained in:
parent
0f5ce5b524
commit
9fd28d5703
@ -34,8 +34,11 @@ public:
|
||||
std::array<epoll_event, MAX_EVENTS> events;
|
||||
|
||||
while (running_) {
|
||||
int num_events = epoll_wait(epoll_fd_, events.data(), MAX_EVENTS, -1);
|
||||
if (num_events == -1) break;
|
||||
int num_events = epoll_wait(epoll_fd_, events.data(), MAX_EVENTS, 1000);
|
||||
if (num_events == -1) {
|
||||
if (errno == EINTR) continue;
|
||||
break;
|
||||
}
|
||||
|
||||
for (int i = 0; i < num_events; ++i) {
|
||||
if (events[i].data.fd == server_fd_) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user