Merge Jean-Charles
[m6w6/libmemcached] / libmemcached / purge.c
index e3f857b464b5fb798a39c71ba257a0d0a8855a2b..6780c54f115e28eb402a5b99011655647aab08e9 100644 (file)
@@ -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);