X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached.cc;h=bd23f1f1ab8a95671855b124a1d932b907c8b4a5;hb=17690735658d7b44f91579df91e31da9ae185158;hp=c52873ad3d4fcbccecb86ded6961a9844dc48dcf;hpb=4e38a2eadb390c100cbc8e73bf257c49f6eeb7d8;p=awesomized%2Flibmemcached diff --git a/libmemcached/memcached.cc b/libmemcached/memcached.cc index c52873ad..bd23f1f1 100644 --- a/libmemcached/memcached.cc +++ b/libmemcached/memcached.cc @@ -45,6 +45,7 @@ static inline bool _memcached_init(memcached_st *self) self->state.is_purging= false; self->state.is_processing_input= false; self->state.is_time_for_rebuild= false; + self->state.is_parsing= false; self->flags.auto_eject_hosts= false; self->flags.binary_protocol= false; @@ -143,6 +144,7 @@ static void __memcached_free(memcached_st *ptr, bool release_st) } libmemcached_free(ptr, ptr->ketama.continuum); + ptr->ketama.continuum= NULL; memcached_array_free(ptr->_namespace); ptr->_namespace= NULL; @@ -277,12 +279,13 @@ void memcached_servers_reset(memcached_st *self) { if (self) { + libmemcached_free(self, self->ketama.continuum); + self->ketama.continuum= NULL; + memcached_instance_list_free(memcached_instance_list(self), self->number_of_hosts); + memcached_instance_set(self, NULL, 0); - memcached_instance_set(self, NULL); - self->number_of_hosts= 0; - memcached_instance_free((org::libmemcached::Instance*)self->last_disconnected_server); - self->last_disconnected_server= NULL; + memcached_reset_last_disconnected_server(self); } }