BUG/MINOR: checks: make __event_chk_srv_r() report success before closing

On a plain TCP check, this function will do nothing except shutting the
connection down and will not even update the status. This prevents it
from being called again, which is the reason why we attempt to do it
once too early. Let's first fix this function to make it report success
on plain TCP checks before closing, as it does for all other ones.

This must be backported to 2.0. It should be safe to backport to older
versions but it doesn't seem it would fix anything there.
This commit is contained in:
Willy Tarreau 2019-09-05 18:43:22 +02:00
parent cc705a6b61
commit 4c1a2b30a3

View File

@ -1378,7 +1378,13 @@ static void __event_srv_chk_r(struct conn_stream *cs)
}
default:
/* for other checks (eg: pure TCP), delegate to the main task */
/* good connection is enough for pure TCP check */
if ((conn->flags & CO_FL_CONNECTED) && !check->type) {
if (check->use_ssl)
set_server_check_status(check, HCHK_STATUS_L6OK, NULL);
else
set_server_check_status(check, HCHK_STATUS_L4OK, NULL);
}
break;
} /* switch */