projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Merged from build.
[m6w6/libmemcached]
/
libmemcached
/
memcached.c
diff --git
a/libmemcached/memcached.c
b/libmemcached/memcached.c
index 61a3b399239e4e76cb5d4fb992347767b25e3987..2fa4f42ce940cd4a19dd369851d0bc78d80eff86 100644
(file)
--- a/
libmemcached/memcached.c
+++ b/
libmemcached/memcached.c
@@
-11,16
+11,20
@@
memcached_st *memcached_create(memcached_st *ptr)
{
ptr= (memcached_st *)calloc(1, sizeof(memcached_st));
{
ptr= (memcached_st *)calloc(1, sizeof(memcached_st));
- if (!ptr)
+ if (! ptr)
+ {
return NULL; /* MEMCACHED_MEMORY_ALLOCATION_FAILURE */
return NULL; /* MEMCACHED_MEMORY_ALLOCATION_FAILURE */
+ }
- ptr->is_allocated= true;
+ ptr->
options.
is_allocated= true;
}
else
{
memset(ptr, 0, sizeof(memcached_st));
}
}
else
{
memset(ptr, 0, sizeof(memcached_st));
}
+ ptr->options.is_initialized= true;
+
memcached_set_memory_allocators(ptr, NULL, NULL, NULL, NULL);
result_ptr= memcached_result_create(ptr, &ptr->result);
memcached_set_memory_allocators(ptr, NULL, NULL, NULL, NULL);
result_ptr= memcached_result_create(ptr, &ptr->result);
@@
-34,6
+38,8
@@
memcached_st *memcached_create(memcached_st *ptr)
ptr->io_msg_watermark= 500;
ptr->io_bytes_watermark= 65 * 1024;
ptr->io_msg_watermark= 500;
ptr->io_bytes_watermark= 65 * 1024;
+ WATCHPOINT_ASSERT_INITIALIZED(&ptr->result);
+
return ptr;
}
return ptr;
}
@@
-50,10
+56,14
@@
void memcached_free(memcached_st *ptr)
if (ptr->continuum)
ptr->call_free(ptr, ptr->continuum);
if (ptr->continuum)
ptr->call_free(ptr, ptr->continuum);
- if (ptr->is_allocated)
+ if (memcached_is_allocated(ptr))
+ {
ptr->call_free(ptr, ptr);
ptr->call_free(ptr, ptr);
+ }
else
else
- memset(ptr, 0, sizeof(memcached_st));
+ {
+ ptr->options.is_initialized= false;
+ }
}
/*
}
/*
@@
-63,13
+73,13
@@
void memcached_free(memcached_st *ptr)
*/
memcached_st *memcached_clone(memcached_st *clone, memcached_st *source)
{
*/
memcached_st *memcached_clone(memcached_st *clone, memcached_st *source)
{
- memcached_return rc= MEMCACHED_SUCCESS;
+ memcached_return
_t
rc= MEMCACHED_SUCCESS;
memcached_st *new_clone;
if (source == NULL)
return memcached_create(clone);
memcached_st *new_clone;
if (source == NULL)
return memcached_create(clone);
- if (clone &&
clone->is_allocated
)
+ if (clone &&
memcached_is_allocated(clone)
)
{
return NULL;
}
{
return NULL;
}
@@
-87,7
+97,7
@@
memcached_st *memcached_clone(memcached_st *clone, memcached_st *source)
new_clone->retry_timeout= source->retry_timeout;
new_clone->distribution= source->distribution;
new_clone->hash= source->hash;
new_clone->retry_timeout= source->retry_timeout;
new_clone->distribution= source->distribution;
new_clone->hash= source->hash;
- new_clone->
hash_continuum= source->hash_continuum
;
+ new_clone->
distribution_hash= source->distribution_hash
;
new_clone->user_data= source->user_data;
new_clone->snd_timeout= source->snd_timeout;
new_clone->user_data= source->user_data;
new_clone->snd_timeout= source->snd_timeout;
@@
-105,6
+115,7
@@
memcached_st *memcached_clone(memcached_st *clone, memcached_st *source)
new_clone->io_msg_watermark= source->io_msg_watermark;
new_clone->io_bytes_watermark= source->io_bytes_watermark;
new_clone->io_key_prefetch= source->io_key_prefetch;
new_clone->io_msg_watermark= source->io_msg_watermark;
new_clone->io_bytes_watermark= source->io_bytes_watermark;
new_clone->io_key_prefetch= source->io_key_prefetch;
+ new_clone->number_of_replicas= source->number_of_replicas;
if (source->hosts)
rc= memcached_server_push(new_clone, source->hosts);
if (source->hosts)
rc= memcached_server_push(new_clone, source->hosts);
@@
-124,6
+135,7
@@
memcached_st *memcached_clone(memcached_st *clone, memcached_st *source)
}
rc= run_distribution(new_clone);
}
rc= run_distribution(new_clone);
+
if (rc != MEMCACHED_SUCCESS)
{
memcached_free(new_clone);
if (rc != MEMCACHED_SUCCESS)
{
memcached_free(new_clone);
@@
-136,3
+148,16
@@
memcached_st *memcached_clone(memcached_st *clone, memcached_st *source)
return new_clone;
}
return new_clone;
}
+
+void *memcached_get_user_data(memcached_st *ptr)
+{
+ return ptr->user_data;
+}
+
+void *memcached_set_user_data(memcached_st *ptr, void *data)
+{
+ void *ret= ptr->user_data;
+ ptr->user_data= data;
+
+ return ret;
+}