X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fpurge.c;h=6780c54f115e28eb402a5b99011655647aab08e9;hb=c67da677fe0944d3d2d3ff46e65fc3bc775404ae;hp=e3f857b464b5fb798a39c71ba257a0d0a8855a2b;hpb=7c7750f02368b570353ea109f23a0ea26d226e02;p=m6w6%2Flibmemcached diff --git a/libmemcached/purge.c b/libmemcached/purge.c index e3f857b4..6780c54f 100644 --- a/libmemcached/purge.c +++ b/libmemcached/purge.c @@ -1,6 +1,6 @@ #include "common.h" -memcached_return_t memcached_purge(memcached_server_st *ptr) +memcached_return_t memcached_purge(memcached_server_instance_st *ptr) { uint32_t x; memcached_return_t ret= MEMCACHED_SUCCESS; @@ -63,6 +63,20 @@ memcached_return_t memcached_purge(memcached_server_st *ptr) ret = rc; memcached_io_reset(ptr); } + + if (ptr->root->callbacks != NULL) + { + memcached_callback_st cb = *ptr->root->callbacks; + if (rc == MEMCACHED_SUCCESS) + { + for (uint32_t y= 0; y < cb.number_of_callback; y++) + { + rc = (*cb.callback[y])(ptr->root, result_ptr, cb.context); + if (rc != MEMCACHED_SUCCESS) + break; + } + } + } } memcached_result_free(result_ptr);