#include "common.h"
+#include <netdb.h>
#include <poll.h>
#include <sys/time.h>
memset(&hints, 0, sizeof(hints));
- hints.ai_family= AF_INET;
+ // hints.ai_family= AF_INET;
if (server->type == MEMCACHED_CONNECTION_UDP)
{
hints.ai_protocol= IPPROTO_UDP;
}
if (server->address_info)
+ {
freeaddrinfo(server->address_info);
+ server->address_info= NULL;
+ }
server->address_info= ai;
return MEMCACHED_SUCCESS;
{
struct addrinfo *use;
- if(ptr->root->server_failure_limit != 0) {
- if(ptr->server_failure_counter >= ptr->root->server_failure_limit) {
+ if (ptr->root->server_failure_limit != 0)
+ {
+ if (ptr->server_failure_counter >= ptr->root->server_failure_limit)
+ {
memcached_server_remove(ptr);
+ return MEMCACHED_FAILURE;
}
}
/* Old connection junk still is in the structure */
ptr->address_info= NULL;
}
- if (ptr->root->retry_timeout)
- {
- struct timeval next_time;
+ if (ptr->root->retry_timeout)
+ {
+ struct timeval next_time;
- gettimeofday(&next_time, NULL);
- ptr->next_retry= next_time.tv_sec + ptr->root->retry_timeout;
- }
+ gettimeofday(&next_time, NULL);
+ ptr->next_retry= next_time.tv_sec + ptr->root->retry_timeout;
+ }
ptr->server_failure_counter+= 1;
return MEMCACHED_ERRNO;
}