Update yatl.
[awesomized/libmemcached] / libmemcached / memcached.cc
index c52873ad3d4fcbccecb86ded6961a9844dc48dcf..bd23f1f1ab8a95671855b124a1d932b907c8b4a5 100644 (file)
@@ -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);
   }
 }