mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-14 23:41:20 +01:00
Some FDs might be offered to some external code (external libraries) which will deal with them until they close them. As such we must not close them upon fd_delete() but we need to delete them anyway so that they do not appear anymore in the fdtab. This used to be handled by fd_remove() before 2.3 but we don't have this anymore. This patch introduces a new flag FD_DISOWN to let fd_delete() know that the core doesn't own the fd and it must not be closed upon removal from the fd_tab. This way it's totally unregistered from the poller but still open. This patch must be backported on branches >= 2.3 because it will be needed to fix a bug affecting SSL async. it should be adapted on 2.3 because state flags were stored in a different way (via bits in the structure).