diff options
Diffstat (limited to 'src/providers/fail_over.c')
-rw-r--r-- | src/providers/fail_over.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/providers/fail_over.c b/src/providers/fail_over.c index f364a8c5..3dab38a3 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) { |