X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fflush_buffers.cc;h=24f7c0df69ae348afae8aad95cb2ad8638347555;hb=330fec7545537270d974f4f2d9cfdc936273d895;hp=bb3c4dec33d171f6ce46026883e41c467a26991a;hpb=ae6bc7501efd5aeaaee92dabe2da0ec2d1625c5b;p=awesomized%2Flibmemcached diff --git a/libmemcached/flush_buffers.cc b/libmemcached/flush_buffers.cc index bb3c4dec..24f7c0df 100644 --- a/libmemcached/flush_buffers.cc +++ b/libmemcached/flush_buffers.cc @@ -37,30 +37,35 @@ #include -memcached_return_t memcached_flush_buffers(memcached_st *memc) +memcached_return_t memcached_flush_buffers(memcached_st *shell) { - memcached_return_t ret= MEMCACHED_SUCCESS; - - for (uint32_t x= 0; x < memcached_server_count(memc); ++x) + Memcached* memc= memcached2Memcached(shell); + if (memc) { - memcached_server_write_instance_st instance= - memcached_server_instance_fetch(memc, x); + memcached_return_t ret= MEMCACHED_SUCCESS; - if (instance->write_buffer_offset != 0) + for (uint32_t x= 0; x < memcached_server_count(memc); ++x) { - if (instance->fd == -1 && - (ret= memcached_connect(instance)) != MEMCACHED_SUCCESS) - { - WATCHPOINT_ERROR(ret); - return ret; - } + memcached_instance_st* instance= memcached_instance_fetch(memc, x); - if (memcached_io_write(instance, NULL, 0, true) == -1) + if (instance->write_buffer_offset != 0) { - ret= MEMCACHED_SOME_ERRORS; + if (instance->fd == INVALID_SOCKET and + (ret= memcached_connect(instance)) != MEMCACHED_SUCCESS) + { + WATCHPOINT_ERROR(ret); + return ret; + } + + if (memcached_io_write(instance) == false) + { + ret= MEMCACHED_SOME_ERRORS; + } } } + + return ret; } - return ret; + return MEMCACHED_INVALID_ARGUMENTS; }