X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fdo.cc;h=61a143b888d798ace2a3361a63db912ab183b9a7;hb=68ad48824e7162a490cce315756c5fa3f98d3e31;hp=ed66028c3eb2b5458e60adce77ef69630a918e6b;hpb=ef3cb20e2967fc17cf7f1c5b6eb14e84bc88a7dc;p=m6w6%2Flibmemcached diff --git a/libmemcached/do.cc b/libmemcached/do.cc index ed66028c..61a143b8 100644 --- a/libmemcached/do.cc +++ b/libmemcached/do.cc @@ -65,7 +65,6 @@ memcached_return_t memcached_vdo(memcached_server_write_instance_st instance, return memcached_set_error(*instance, MEMCACHED_WRITE_FAILURE, MEMCACHED_AT); } - perror(__func__); return memcached_set_errno(*instance, errno, MEMCACHED_AT); } } @@ -73,18 +72,17 @@ memcached_return_t memcached_vdo(memcached_server_write_instance_st instance, return MEMCACHED_SUCCESS; } - ssize_t sent_length= memcached_io_writev(instance, vector, count, with_flush); - size_t command_length= 0; - for (uint32_t x= 0; x < count; ++x, vector++) + bool sent_success= memcached_io_writev(instance, vector, count, with_flush); + if (sent_success == false) { - command_length+= vector->length; - } - - if (sent_length == -1 or size_t(sent_length) != command_length) - { - rc= MEMCACHED_WRITE_FAILURE; - WATCHPOINT_ERROR(rc); - WATCHPOINT_ERRNO(errno); + if (memcached_last_error(instance->root) == MEMCACHED_SUCCESS) + { + return memcached_set_error(*instance, MEMCACHED_WRITE_FAILURE, MEMCACHED_AT); + } + else + { + rc= MEMCACHED_WRITE_FAILURE; + } } else if (memcached_is_replying(instance->root)) {