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) {