tevent: let epoll_check_reopen() clear all events before reopening them
authorStefan Metzmacher <metze@samba.org>
Wed, 11 Jan 2023 07:21:47 +0000 (08:21 +0100)
committerAndreas Schneider <asn@cryptomilk.org>
Wed, 19 Jul 2023 08:02:33 +0000 (08:02 +0000)
This is clearer for multiplexed fdes as it means both sides are
already cleared before we call epoll_update_event() again.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
lib/tevent/tevent_epoll.c

index 8636fdac5e62212eec4262e77cd5456f3c311f5c..fec47972c93acfe97d9debb4fe2a685424a81cc6 100644 (file)
@@ -237,6 +237,8 @@ static void epoll_check_reopen(struct epoll_event_context *epoll_ev)
        epoll_ev->panic_state = &panic_triggered;
        for (fde=epoll_ev->ev->fd_events;fde;fde=fde->next) {
                fde->additional_flags &= ~EPOLL_ADDITIONAL_FD_FLAG_HAS_EVENT;
+       }
+       for (fde=epoll_ev->ev->fd_events;fde;fde=fde->next) {
                epoll_update_event(epoll_ev, fde);
 
                if (panic_triggered) {