summaryrefslogtreecommitdiffstats
path: root/src/providers/fail_over.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/providers/fail_over.c')
-rw-r--r--src/providers/fail_over.c21
1 files changed, 21 insertions, 0 deletions
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)
{