self->io_key_prefetch= 0;
self->cached_errno= 0;
self->poll_timeout= MEMCACHED_DEFAULT_TIMEOUT;
- self->connect_timeout= MEMCACHED_DEFAULT_TIMEOUT;
+ self->connect_timeout= MEMCACHED_DEFAULT_CONNECT_TIMEOUT;
self->retry_timeout= 0;
self->continuum_count= 0;
self->get_key_failure= NULL;
self->delete_trigger= NULL;
self->callbacks= NULL;
- self->sasl= NULL;
+ self->sasl.callbacks= NULL;
+ self->sasl.is_allocated= false;
return true;
}
ptr->server_failure_limit= 0;
}
+void memcached_reset_last_disconnected_server(memcached_st *ptr)
+{
+ if (ptr->last_disconnected_server)
+ {
+ memcached_server_free(ptr->last_disconnected_server);
+ ptr->last_disconnected_server= NULL;
+ }
+}
+
void memcached_free(memcached_st *ptr)
{
/* If we have anything open, lets close it now */
if (ptr->continuum)
libmemcached_free(ptr, ptr->continuum);
- if (ptr->sasl)
+ if (ptr->sasl.callbacks)
{
#ifdef LIBMEMCACHED_WITH_SASL_SUPPORT
memcached_destroy_sasl_auth_data(ptr);
}
#ifdef LIBMEMCACHED_WITH_SASL_SUPPORT
- if (source->sasl && source->sasl->callbacks)
+ if (source->sasl.callbacks)
{
if (memcached_clone_sasl(new_clone, source) != MEMCACHED_SUCCESS)
{