]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: resume from LI_ASSIGNED in default_resume_listener()
authorAurelien DARRAGON <adarragon@haproxy.com>
Tue, 7 Feb 2023 11:17:20 +0000 (12:17 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 23 Feb 2023 14:05:05 +0000 (15:05 +0100)
commit046a75e13198b601943fcddf22bd950714d34fd3
tree35371c5236837cf7332853cc37d15c672d3d0adc
parent3bb2a38f01990919b7285ce94e0ae762722dafba
BUG/MEDIUM: resume from LI_ASSIGNED in default_resume_listener()

Since fc974887c ("MEDIUM: protocol: explicitly start the receiver before
the listener"), resume from LI_ASSIGNED state does not work anymore.

This is because the binding part has been divided into 2 distinct steps
since: first bind(), then listen().

This new logic was properly implemented in startup sequence
through protocol_bind_all() but wasn't properly reported in
default_resume_listener() function.

Fixing default_resume_listener() to comply with the new logic.

This should help ABNS sockets to properly rebind in resume_listener()
after they have been stopped by pause_listener():
See Redmine:4475 for more context.

This commit depends on:
 - "MINOR: listener: workaround for closing a tiny race between resume_listener() and stopping"
 - "MINOR: listener: make sure we don't pause/resume bypassed listeners"

This could be backported up to 2.4 after a reasonable observation period to
make sure that this change doesn't cause unwanted side-effects.
src/listener.c