X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=lib%2Fmemcached_do.c;h=ce9cceb647620384e795e7fe23390fda1cdb2c82;hb=82a0e8be2e1002c6f173baf7c2dfdbb281ee2136;hp=5fcfe8325b7565bf858356225324a1cd49f55917;hpb=5a6b411afb61c7d14aee3f52037f719c42072160;p=m6w6%2Flibmemcached diff --git a/lib/memcached_do.c b/lib/memcached_do.c index 5fcfe832..ce9cceb6 100644 --- a/lib/memcached_do.c +++ b/lib/memcached_do.c @@ -6,17 +6,19 @@ memcached_return memcached_do(memcached_st *ptr, unsigned int server_key, char * memcached_return rc; ssize_t sent_length; + WATCHPOINT_ASSERT(command_length); WATCHPOINT_ASSERT(command); + + if (ptr->hosts[server_key].cursor_active) + (void)memcached_finish_server(ptr, server_key); + if ((rc= memcached_connect(ptr, server_key)) != MEMCACHED_SUCCESS) return rc; sent_length= memcached_io_write(ptr, server_key, command, command_length, with_flush); if (sent_length == -1 || sent_length != command_length) - { - memcached_quit_server(ptr, server_key); rc= MEMCACHED_WRITE_FAILURE; - } return rc; }