summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/providers/fail_over.c5
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;
}