Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ctdb-tcp: Close inflight connecting TCP sockets after fork
Commit c68b6f9 changed the talloc hierarchy such that outgoing TCP sockets while sitting in the async connect() syscall are not freed via ctdb_tcp_shutdown() anymore, they are hanging off a longer-running structure. Free this structure as well. If an outgoing TCP socket leaks into a long-running child process (possibly the recovery daemon), this connection will never be closed as seen by the destination node. Because with recent changes incoming connections will not be accepted as long as any incoming connection is alive, with that socket leak into the recovery daemon we will never again be able to successfully connect to the node that is affected by this leak. Further attempts to connect will be discarded by the destination as long as the recovery daemon keeps this socket alive. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14175 RN: Avoid communication breakdown on node reconnect Signed-off-by: Martin Schwenke <[email protected]> Signed-off-by: Volker Lendecke <[email protected]> Reviewed-by: Amitay Isaacs <[email protected]>
- Loading branch information