From: Alan T. DeKok Date: Mon, 29 Jul 2024 20:37:59 +0000 (-0400) Subject: it helps to clear the set of writable FDs X-Git-Tag: release_3_2_6~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=219e76568ccf5cb0a47f666c05dcaf38e7097ff9;p=thirdparty%2Ffreeradius-server.git it helps to clear the set of writable FDs --- diff --git a/src/lib/event.c b/src/lib/event.c index 0d926adcf1e..c44441803ba 100644 --- a/src/lib/event.c +++ b/src/lib/event.c @@ -514,7 +514,11 @@ int fr_event_fd_write_handler(fr_event_list_t *el, int type, int fd, fr_assert(ctx = el->readers[i].ctx); el->readers[i].write_handler = write_handler; - FD_SET(fd, &el->write_fds); /* fd MUST already be in the set of readers! */ + if (write_handler) { + FD_SET(fd, &el->write_fds); /* fd MUST already be in the set of readers! */ + } else { + FD_CLR(fd, &el->write_fds); + } return 1; } #endif /* HAVE_KQUEUE */