summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Richard <johnny@johnnyrichard.com>2022-04-14 04:02:51 +0200
committerJohnny Richard <johnny@johnnyrichard.com>2022-04-14 04:02:51 +0200
commit7dc405e07e861a01aad8f92ca1b69bd58fd63c5d (patch)
treec8ee716004fda960a131f1414ba4ee93d38dcc18
parent91d0b99b0fd0a6d12093af41b0147db52b335e49 (diff)
server: Stop watching file description on EPOLLHUP
-rw-r--r--server.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/server.c b/server.c
index 89a2ffe..016eca8 100644
--- a/server.c
+++ b/server.c
@@ -179,6 +179,9 @@ server_handle_client_data(server_t *server, struct epoll_event *event)
client_t* client = event->data.ptr;
int client_fd = client->fd;
if (event->events & EPOLLHUP) {
+ if (epoll_ctl(server->epoll_fd, EPOLL_CTL_DEL, client_fd, NULL) == -1) {
+ log_error("could not del fd : %s", strerror(errno));
+ }
hash_table_remove(server->client_table, client->nick);
free(client);
return;