X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached_delete.c;h=978ec29c1aaa183a2c2c8d4e8551a526bdafb056;hb=92e3e2306e3e32ed452cc5b1f03d0cc18ead74a9;hp=5eb7e39c5ddd604750bcde94ac14f5db89c57aae;hpb=7afbf5c09228f6614b8831ec5f374971a38bbf9f;p=m6w6%2Flibmemcached diff --git a/libmemcached/memcached_delete.c b/libmemcached/memcached_delete.c index 5eb7e39c..978ec29c 100644 --- a/libmemcached/memcached_delete.c +++ b/libmemcached/memcached_delete.c @@ -129,11 +129,11 @@ static inline memcached_return binary_delete(memcached_st *ptr, rc= MEMCACHED_WRITE_FAILURE; } - if (ptr->number_of_replicas > 0) + unlikely (ptr->number_of_replicas > 0) { request.message.header.request.opcode= PROTOCOL_BINARY_CMD_DELETEQ; - for (int x= 0; x < ptr->number_of_replicas; ++x) + for (uint32_t x= 0; x < ptr->number_of_replicas; ++x) { ++server_key; if (server_key == ptr->number_of_hosts) @@ -143,7 +143,9 @@ static inline memcached_return binary_delete(memcached_st *ptr, if ((memcached_do(server, (const char*)request.bytes, sizeof(request.bytes), 0) != MEMCACHED_SUCCESS) || (memcached_io_write(server, key, key_length, flush) == -1)) - memcached_io_reset(server); + memcached_io_reset(server); + else + memcached_server_response_decrement(server); } }