BUG/MINOR: checks: don't mark the FD as closed before transport close
Some future transport layers might need the connection's file descriptor
on ->close(), so we must not destroy it before we're finished with it.
diff --git a/src/checks.c b/src/checks.c
index a2a7a35..d38823b 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -1430,10 +1430,10 @@
set_server_up(s);
}
- conn->t.sock.fd = -1; /* no check running anymore */
conn_xprt_close(conn);
if (conn->ctrl)
fd_delete(fd);
+ conn->t.sock.fd = -1; /* no check running anymore */
rv = 0;
if (global.spread_checks > 0) {
@@ -1462,10 +1462,10 @@
}
else
set_server_down(s);
- conn->t.sock.fd = -1;
conn_xprt_close(conn);
if (conn->ctrl)
fd_delete(fd);
+ conn->t.sock.fd = -1;
rv = 0;
if (global.spread_checks > 0) {