summaryrefslogtreecommitdiff
path: root/server/providers/fail_over.c
AgeCommit message (Collapse)AuthorFilesLines
2010-02-18Rename server/ directory to src/Stephen Gallagher1-651/+0
Also update BUILD.txt
2010-01-22Handle IPv6 addresses with the async resolverStephen Gallagher1-2/+1
2009-12-15fail over: Change the first server pick logicMartin Nagy1-5/+26
The logic of selecting the server to fail over to was changed so that we start from the server next to the one that didn't work the last time. This is because the status of a server that failed last time might get reset before we try another one. This can cause that we try to use the nonworking server repeatedly, not giving a chance to other servers. Fixes: #321
2009-12-15Don't consider one address with different port numbers as the sameMartin Nagy1-8/+22
There were two problems with the code. We were using fo_set_server_status() instead of fo_set_port_status() when we failed to connect to a service. This is a problem because if two services use the same server, or we want to use one server with two different ports, marking the whole server as bad is incorrect. The other problem was that be_resolve_server_done() was comparing the hostent structures -- these are, however, equal across multiple server:port pairs with the same server addresses. Fixes: #321
2009-12-09Correctly restart server status after the timeoutMartin Nagy1-1/+1
The macro STATUS_DIFF() was wrong causing the result to always be lower than 0, therefore the timeout was never reached. Fixes: #302
2009-12-09Add some debugging statements to fail_over and resolverMartin Nagy1-2/+60
These were very useful for debugging and hopefully still will be in the future.
2009-11-18Failover fixes and additionsSimo Sorce1-6/+22
2009-11-09Fix tevent_req error checking.Simo Sorce1-4/+1
When possible using a macro that correctly deals with tstate
2009-11-09Check return, zero free hostent, adhere to styleSimo Sorce1-8/+11
2009-11-06Add fail over utility functionsMartin Nagy1-0/+543
These functions should be used by providers to centrally manage lists of servers. Servers are grouped into services and each service has it's own list of servers. If, however, you will try to add a same server into two different services, they will share a common structure. This means that a host will only be resolved once.