diff options
Diffstat (limited to 'src/providers')
-rw-r--r-- | src/providers/fail_over.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/providers/fail_over.c b/src/providers/fail_over.c index eb9c1050..d6beeb60 100644 --- a/src/providers/fail_over.c +++ b/src/providers/fail_over.c @@ -99,7 +99,7 @@ struct server_common { char *name; struct resolv_hostent *rhostent; struct resolve_service_request *request_list; - int server_status; + enum server_status server_status; struct timeval last_status_change; }; @@ -716,7 +716,8 @@ get_first_server_entity(struct fo_service *service, struct fo_server **_server) */ if (service->last_tried_server != NULL && service->last_tried_server->primary) { - if (service->last_tried_server->port_status == PORT_NEUTRAL) { + if (service->last_tried_server->port_status == PORT_NEUTRAL && + server_works(service->last_tried_server)) { server = service->last_tried_server; goto done; } |