X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fflush_buffers.c;h=649db983ec65295033058e81871126959bc53ac6;hb=2a1e29bce497c25fad73b9d74db4a3daf74413b5;hp=aeae5205dd9f82ea19b6dd1928ebdde0be88e1ee;hpb=ac40b10adf3a182fe62d24899eb96c10364ba91b;p=m6w6%2Flibmemcached diff --git a/libmemcached/flush_buffers.c b/libmemcached/flush_buffers.c index aeae5205..649db983 100644 --- a/libmemcached/flush_buffers.c +++ b/libmemcached/flush_buffers.c @@ -5,17 +5,25 @@ memcached_return_t memcached_flush_buffers(memcached_st *memc) memcached_return_t ret= MEMCACHED_SUCCESS; for (uint32_t x= 0; x < memcached_server_count(memc); ++x) - if (memc->hosts[x].write_buffer_offset != 0) + { + memcached_server_write_instance_st instance= + memcached_server_instance_fetch(memc, x); + + if (instance->write_buffer_offset != 0) { - if (memc->hosts[x].fd == -1 && - (ret= memcached_connect(&memc->hosts[x])) != MEMCACHED_SUCCESS) + if (instance->fd == -1 && + (ret= memcached_connect(instance)) != MEMCACHED_SUCCESS) { WATCHPOINT_ERROR(ret); return ret; } - if (memcached_io_write(&memc->hosts[x], NULL, 0, 1) == -1) + + if (memcached_io_write(instance, NULL, 0, true) == -1) + { ret= MEMCACHED_SOME_ERRORS; + } } + } return ret; }