MINOR: poll/epoll: move detection of RDHUP support earlier
Let's move the detection of support for RDHUP earlier and out of the
FD update chain, as it complicates its simplification.
diff --git a/src/ev_epoll.c b/src/ev_epoll.c
index 330c38c..8810b77 100644
--- a/src/ev_epoll.c
+++ b/src/ev_epoll.c
@@ -222,6 +222,9 @@
e = epoll_events[count].events;
fd = epoll_events[count].data.fd;
+ if ((e & EPOLLRDHUP) && !(cur_poller.flags & HAP_POLL_F_RDHUP))
+ _HA_ATOMIC_OR(&cur_poller.flags, HAP_POLL_F_RDHUP);
+
#ifdef DEBUG_FD
_HA_ATOMIC_INC(&fdtab[fd].event_count);
#endif
@@ -245,9 +248,6 @@
((e & EPOLLHUP) ? FD_EV_SHUT_RW : 0) |
((e & EPOLLERR) ? FD_EV_ERR_RW : 0);
- if ((e & EPOLLRDHUP) && !(cur_poller.flags & HAP_POLL_F_RDHUP))
- _HA_ATOMIC_OR(&cur_poller.flags, HAP_POLL_F_RDHUP);
-
fd_update_events(fd, n);
}
/* the caller will take care of cached events */