Beispiel #1
0
void server_list_free(memcached_st *ptr, memcached_server_st *servers)
{
  uint32_t x;

  if (servers == NULL)
    return;

  for (x= 0; x < memcached_servers_count(servers); x++)
  {
    if (servers[x].address_info)
    {
      freeaddrinfo(servers[x].address_info);
      servers[x].address_info= NULL;
    }
  }

  if (ptr)
  {
    libmemcached_free(ptr, servers);
  }
  else
  {
    free(servers);
  }
}
void memcached_array_free(memcached_array_st *array)
{
  if (array)
  {
    WATCHPOINT_ASSERT(array->root);
    libmemcached_free(array->root, array);
  }
}
Beispiel #3
0
void memcached_free(memcached_st *ptr)
{
  /* If we have anything open, lets close it now */
  memcached_quit(ptr);
  server_list_free(ptr, memcached_server_list(ptr));
  memcached_result_free(&ptr->result);

  if (ptr->on_cleanup)
    ptr->on_cleanup(ptr);

  if (ptr->continuum)
    libmemcached_free(ptr, ptr->continuum);

  if (memcached_is_allocated(ptr))
  {
    libmemcached_free(ptr, ptr);
  }
}
Beispiel #4
0
void memcached_array_free(memcached_array_st *array)
{
  if (! array)
    return;

  WATCHPOINT_ASSERT(array->root);
  if (array && array->root)
  {
    libmemcached_free(array->root, array);
  }
  else if (array)
  {
    free(array);
  }
}
Beispiel #5
0
void memcached_result_free(memcached_result_st *ptr)
{
  if (ptr == NULL)
    return;

  memcached_string_free(&ptr->value);

  if (memcached_is_allocated(ptr))
  {
    WATCHPOINT_ASSERT(ptr->root); // Without a root, that means that result was not properly initialized.
    libmemcached_free(ptr->root, ptr);
  }
  else
  {
    ptr->options.is_initialized= false;
  }
}