From ddf7a437de12fab9e000e5b555fdbf1891632dad Mon Sep 17 00:00:00 2001 From: Omar Polo Date: Sat, 24 Jun 2023 14:21:57 +0000 Subject: [PATCH] fix client_close_ev when tls_close() returns TLS_WANT_POLLIN/OUT in those cases we need to reschedule the function and return, instead of going on with the cleanup. --- server.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server.c b/server.c index ea2eb60..2d77353 100644 --- a/server.c +++ b/server.c @@ -1244,10 +1244,10 @@ client_close_ev(int fd, short event, void *d) switch (tls_close(c->ctx)) { case TLS_WANT_POLLIN: event_once(c->fd, EV_READ, client_close_ev, c, NULL); - break; + return; case TLS_WANT_POLLOUT: event_once(c->fd, EV_WRITE, client_close_ev, c, NULL); - break; + return; } connected_clients--;