]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: fd/poller: make the update-list per-group
authorWilly Tarreau <w@1wt.eu>
Fri, 8 Jul 2022 09:33:43 +0000 (11:33 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 15 Jul 2022 17:57:28 +0000 (19:57 +0200)
commit35ee710ececff9e87a0b770193d78a8a0cae0a50
treeb5f7e73badd616b4df747b8188b68391651a807d
parent2f36d902aa4dc6c1d0a53db306e0138db3d607ca
MEDIUM: fd/poller: make the update-list per-group

The update-list needs to be per-group because its inspection is based
on a mask and we need to be certain when scanning it if a mask is for
the same thread or another one. Once per-group there's no doubt about
it, even if the FD's polling changes, the entry remains valid. It will
be needed to check the tgid though.

Note that a soft-stop or pause/resume might not necessarily work here
with tgroups>1, because the operation might be delivered to a thread
that doesn't belong to the group and whoe update mask will not reflect
one that is interesting here. We can't do better at this stage.
include/haproxy/fd-t.h
include/haproxy/fd.h
src/ev_epoll.c
src/ev_evports.c
src/ev_kqueue.c
src/ev_poll.c
src/ev_select.c
src/fd.c