]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: proto: extend connection thread rebind API
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 4 Jul 2024 13:23:13 +0000 (15:23 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 4 Jul 2024 14:33:21 +0000 (16:33 +0200)
commit1a43b9f32c71267e3cb514aa70a13c75adb20742
tree7fb1a68c371fa7e1fd85630b02c3ab99adca42e4
parentff024206f0e0235551395c496e1aa7f23b74bf56
MINOR: proto: extend connection thread rebind API

MINOR: listener: define callback for accept queue push

Extend API for connection thread rebind API by replacing single callback
set_affinity by three different ones. Each one of them is used at a
different stage of the operation :

* set_affinity1 is used similarly to previous set_affinity

* set_affinity2 is called directly from accept_queue_push_mp() when an
  entry has been found in accept ring. This operation cannot fail.

* reset_affinity is called after set_affinity1 in case of failure from
  accept_queue_push_mp() due to no space left in accept ring. This is
  necessary for protocols which must reconfigure resources before
  fallback on the current tid.

This patch does not have any functional changes. However, it will be
required to fix crashes for QUIC connections when accept queue ring is
full. As such, it must be backported with it.
include/haproxy/protocol-t.h
include/haproxy/quic_conn.h
src/listener.c
src/proto_quic.c
src/proto_rhttp.c
src/quic_conn.c