mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-04-28 09:40:59 +02:00
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.
This commit is contained in:
parent
a199a17d72
commit
53a16187fd
@ -222,6 +222,9 @@ static void _do_poll(struct poller *p, int exp, int wake)
|
||||
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 @@ static void _do_poll(struct poller *p, int exp, int wake)
|
||||
((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 */
|
||||
|
||||
@ -218,6 +218,9 @@ static void _do_poll(struct poller *p, int exp, int wake)
|
||||
int e = poll_events[count].revents;
|
||||
fd = poll_events[count].fd;
|
||||
|
||||
if ((e & POLLRDHUP) && !(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 @@ static void _do_poll(struct poller *p, int exp, int wake)
|
||||
((e & POLLHUP) ? FD_EV_SHUT_RW : 0) |
|
||||
((e & POLLERR) ? FD_EV_ERR_RW : 0);
|
||||
|
||||
if ((e & POLLRDHUP) && !(cur_poller.flags & HAP_POLL_F_RDHUP))
|
||||
_HA_ATOMIC_OR(&cur_poller.flags, HAP_POLL_F_RDHUP);
|
||||
|
||||
fd_update_events(fd, n);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user