Since commit d4604adeaa8c ("MAJOR: threads/fd: Make fd stuffs
thread-safe"), we init pollers per thread using a helper. It was still
correct for mono-thread mode until commit cd7879adc2c4 ("BUG/MEDIUM:
threads: Run the poll loop on the main thread too"). We now use a deinit
helper for all threads, making those free uneeded.

Only poll and select are affected by this very minor issue.

it could be backported from v1.8 to v2.1.

Fixes: cd7879adc2c4 ("BUG/MEDIUM: threads: Run the poll loop on the main
thread too")
Signed-off-by: William Dauchy <w.dau...@criteo.com>
---
 src/ev_poll.c   | 1 -
 src/ev_select.c | 5 +----
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/src/ev_poll.c b/src/ev_poll.c
index 538f07057..8df244566 100644
--- a/src/ev_poll.c
+++ b/src/ev_poll.c
@@ -286,7 +286,6 @@ static int _do_init(struct poller *p)
  fail_swevt:
        free(fd_evts[DIR_RD]);
  fail_srevt:
-       free(poll_events);
        p->pref = 0;
        return 0;
 }
diff --git a/src/ev_select.c b/src/ev_select.c
index ab021b97f..acfdbb94a 100644
--- a/src/ev_select.c
+++ b/src/ev_select.c
@@ -255,7 +255,7 @@ static int _do_init(struct poller *p)
        p->private = NULL;
 
        if (global.maxsock > FD_SETSIZE)
-               goto fail_revt;
+               goto fail_srevt;
 
        fd_set_bytes = sizeof(fd_set) * (global.maxsock + FD_SETSIZE - 1) / 
FD_SETSIZE;
 
@@ -272,9 +272,6 @@ static int _do_init(struct poller *p)
  fail_swevt:
        free(fd_evts[DIR_RD]);
  fail_srevt:
-       free(tmp_evts[DIR_WR]);
-       free(tmp_evts[DIR_RD]);
- fail_revt:
        p->pref = 0;
        return 0;
 }
-- 
2.26.2


Reply via email to