From 54577e54d1b6300aeb348087372c14ed72530f88 Mon Sep 17 00:00:00 2001 From: eindenbom Date: Fri, 2 Jul 2010 18:46:53 +0400 Subject: Add an interface to try next fail-over server after connection to the active server was unexpectedly dropped. --- src/providers/fail_over.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/providers/fail_over.c') diff --git a/src/providers/fail_over.c b/src/providers/fail_over.c index f364a8c5f..3dab38a34 100644 --- a/src/providers/fail_over.c +++ b/src/providers/fail_over.c @@ -1275,6 +1275,27 @@ fo_set_port_status(struct fo_server *server, enum port_status status) } } +void fo_try_next_server(struct fo_service *service) +{ + struct fo_server *server; + + if (!service) { + DEBUG(1, ("Bug: No service supplied\n")); + return; + } + + server = service->active_server; + if (!server) { + return; + } + + service->active_server = 0; + + if (server->port_status == PORT_WORKING) { + server->port_status = PORT_NEUTRAL; + } +} + void * fo_get_server_user_data(struct fo_server *server) { -- cgit