mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-23 14:51:27 +02:00
BUG/MEDIUM: fd: Don't modify the update_mask in fd_dodelete().
Only the pollers should remove bits in the update_mask. Removing it will mean if the fd is currently in the global update list, it will never be removed, and while it's mostly harmless in 1.9, in 1.8, only update_mask is checked to know if the fd is already in the list or not, so we can end up trying to add a fd that is already in the list, and corrupt it, which means some fd may not be added to the poller. This should be backported to 1.8.
This commit is contained in:
parent
a8cf95d629
commit
d0e60d852a
1
src/fd.c
1
src/fd.c
@ -371,7 +371,6 @@ static void fd_dodelete(int fd, int do_close)
|
||||
port_range_release_port(fdinfo[fd].port_range, fdinfo[fd].local_port);
|
||||
fdinfo[fd].port_range = NULL;
|
||||
fdtab[fd].owner = NULL;
|
||||
fdtab[fd].update_mask &= ~tid_bit;
|
||||
fdtab[fd].thread_mask = 0;
|
||||
if (do_close) {
|
||||
polled_mask[fd] = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user