swim: explicitly stop old ev_io input/output on rebind
When an input/output file descriptor was changed, SWIM did this: swim_ev_io_set(io, new_fd) swim_ev_io_start(io) It worked in an assumption that libev allows to change fd on fly, and the tests were passing because fake event loop was used, not real libev. But it didn't work. Libev requires explicit ev_io_stop() called on the old descriptor. This patch makes this: swim_ev_io_stop(io) //do bind ... swim_ev_io_set(io, new_fd) swim_ev_io_start(io) Part of #3234
Loading
Please register or sign in to comment