X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fserver.cc;h=b91512832a59568602ce34c321eff5534da4ad32;hb=54b757ae099fb3db5132bd8a84b99a9a85492af1;hp=073972dd0e2afbdc7730884ca3f644690979d1f5;hpb=0ae14bed70947882f5ee9423dfcb20eeda7acdd9;p=awesomized%2Flibmemcached diff --git a/libmemcached/server.cc b/libmemcached/server.cc index 073972dd..b9151283 100644 --- a/libmemcached/server.cc +++ b/libmemcached/server.cc @@ -53,6 +53,7 @@ static inline void _server_init(memcached_server_st *self, memcached_st *root, self->fd= -1; self->io_bytes_sent= 0; self->server_failure_counter= 0; + self->server_failure_counter_query_id= 0; self->weight= weight ? weight : 1; // 1 is the default weight value WATCHPOINT_SET(self->io_wait_count.read= 0); WATCHPOINT_SET(self->io_wait_count.write= 0); @@ -69,17 +70,17 @@ static inline void _server_init(memcached_server_st *self, memcached_st *root, self->address_info_next= NULL; self->state= MEMCACHED_SERVER_STATE_NEW; + self->next_retry= 0; + self->root= root; if (root) { - self->next_retry= root->retry_timeout; + self->version= ++root->server_info.version; } else { - self->next_retry= 0; + self->version= UINT_MAX; } - - self->root= root; self->limit_maxbytes= 0; memcpy(self->hostname, hostname.c_str, hostname.size); self->hostname[hostname.size]= 0; @@ -194,7 +195,7 @@ memcached_server_st *memcached_server_clone(memcached_server_st *destination, hostname, source->port, source->weight, source->type); - if (not destination) + if (destination) { if (source->error_messages) { @@ -257,7 +258,7 @@ memcached_return_t memcached_server_execute(memcached_st *ptr, return MEMCACHED_SUCCESS; } -memcached_server_instance_st memcached_server_by_key(const memcached_st *ptr, +memcached_server_instance_st memcached_server_by_key(memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error)