tree b7dcc21e194e186503c5f5cf751555044883be56
parent 18c20d28d7efc4ef5b48ce6bd1984ca0c356ff08
author Willy Tarreau <w@1wt.eu> 1602253928 +0200
committer Willy Tarreau <w@1wt.eu> 1602261876 +0200
encoding latin1

MEDIUM: receivers: add an rx_unbind() method in the protocols

This is used as a generic way to unbind a receiver at the end of
do_unbind_listener(). This allows to considerably simplify that function
since we can now let the protocol perform the cleanup. The generic code
was moved to sock.c, along with the conditional rx_disable() call. Now
the code also supports that the ->disable() function of the protocol
which acts on the listener performs the close itself and adjusts the
RX_F_BUOND flag accordingly.
