MINOR: quic: properly finalize thread rebinding
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 11 Apr 2023 12:42:31 +0000 (14:42 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 18 Apr 2023 15:09:02 +0000 (17:09 +0200)
commit739de3f1191e01c10b3d7bb7ad79686156a05909
tree1af3f8f1d714c2f6a3c8d6b8e3a19f74d601bf0e
parent5f8704152abc18041ffafa5d461c911bccf2d5c0
MINOR: quic: properly finalize thread rebinding

When a quic_conn instance is rebinded on a new thread its tasks and
tasklet are destroyed and new ones created. Its socket is also migrated
to a new thread which stop reception on it.

To properly reactivate a quic_conn after rebind, wake up its tasks and
tasklet if they were active before thread rebind. Also reactivate
reading on the socket FD. These operations are implemented on a new
function qc_finalize_affinity_rebind().

This should be backported up to 2.7 after a period of observation.
include/haproxy/quic_conn-t.h
include/haproxy/quic_conn.h
include/haproxy/quic_sock.h
src/quic_conn.c
src/quic_sock.c