projects
/
awesomized
/
libmemcached
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
|
github
raw
|
patch
|
inline
| side by side (from parent 1:
82c139b
)
More on clone/cleanup callbacks
author
<brian@gir.local>
<>
Fri, 18 Jan 2008 19:09:30 +0000
(14:09 -0500)
committer
<brian@gir.local>
<>
Fri, 18 Jan 2008 19:09:30 +0000
(14:09 -0500)
lib/memcached.c
patch
|
blob
|
history
diff --git
a/lib/memcached.c
b/lib/memcached.c
index 25a287ad2c8834cbfba220a5dcbb2e1d8b5a6a48..5471eba6e8b16c743f86075a867268cded2dc7ea 100644
(file)
--- a/
lib/memcached.c
+++ b/
lib/memcached.c
@@
-35,6
+35,9
@@
void memcached_free(memcached_st *ptr)
memcached_server_list_free(ptr->hosts);
memcached_result_free(&ptr->result);
memcached_server_list_free(ptr->hosts);
memcached_result_free(&ptr->result);
+ if (ptr->on_cleanup)
+ ptr->on_cleanup(ptr);
+
if (ptr->is_allocated == MEMCACHED_ALLOCATED)
free(ptr);
else
if (ptr->is_allocated == MEMCACHED_ALLOCATED)
free(ptr);
else
@@
-52,7
+55,14
@@
memcached_st *memcached_clone(memcached_st *clone, memcached_st *ptr)
memcached_st *new_clone;
if (ptr == NULL)
memcached_st *new_clone;
if (ptr == NULL)
- return memcached_create(clone);
+ {
+ new_clone= memcached_create(clone);
+
+ if (ptr->on_clone)
+ ptr->on_clone(NULL, new_clone);
+
+ return new_clone;
+ }
if (ptr->is_allocated == MEMCACHED_USED)
{
if (ptr->is_allocated == MEMCACHED_USED)
{
@@
-84,5
+94,8
@@
memcached_st *memcached_clone(memcached_st *clone, memcached_st *ptr)
new_clone->hash= ptr->hash;
new_clone->user_data= ptr->user_data;
new_clone->hash= ptr->hash;
new_clone->user_data= ptr->user_data;
+ if (ptr->on_clone)
+ ptr->on_clone(ptr, new_clone);
+
return new_clone;
}
return new_clone;
}