X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fio.cc;h=ed33f05a2e6ba4d94ba7d74774456c9c18a93e2a;hb=0b1f3751f2f2131482edd2fd23bd02b5242b5aac;hp=d0e6aaf6f10cb7942d574420b953ecf4dc7d90d6;hpb=a28d1ecc082d9d08c4f59f071de9a43fbd08aee3;p=m6w6%2Flibmemcached diff --git a/libmemcached/io.cc b/libmemcached/io.cc index d0e6aaf6..ed33f05a 100644 --- a/libmemcached/io.cc +++ b/libmemcached/io.cc @@ -531,9 +531,9 @@ memcached_return_t memcached_io_slurp(memcached_server_write_instance_st ptr) /* fall through */ case ENOTCONN: // Programmer Error - WATCHPOINT_ASSERT(0); + assert(0); case ENOTSOCK: - WATCHPOINT_ASSERT(0); + assert(0); case EBADF: assert_msg(ptr->fd != INVALID_SOCKET, "Invalid socket state"); case EINVAL: @@ -552,7 +552,7 @@ static bool _io_write(memcached_server_write_instance_st ptr, const void *buffer, size_t length, bool with_flush, size_t& written) { - WATCHPOINT_ASSERT(ptr->fd != INVALID_SOCKET); + assert(ptr->fd != INVALID_SOCKET); assert(memcached_is_udp(ptr->root) == false); const char *buffer_ptr= static_cast(buffer); @@ -620,20 +620,22 @@ ssize_t memcached_io_write(memcached_server_write_instance_st ptr, return ssize_t(written); } -ssize_t memcached_io_writev(memcached_server_write_instance_st ptr, +bool memcached_io_writev(memcached_server_write_instance_st ptr, libmemcached_io_vector_st vector[], const size_t number_of, const bool with_flush) { + ssize_t complete_total= 0; ssize_t total= 0; for (size_t x= 0; x < number_of; x++, vector++) { + complete_total+= vector->length; if (vector->length) { size_t written; if ((_io_write(ptr, vector->buffer, vector->length, false, written)) == false) { - return -1; + return false; } total+= written; } @@ -643,11 +645,11 @@ ssize_t memcached_io_writev(memcached_server_write_instance_st ptr, { if (memcached_io_write(ptr) == false) { - return -1; + return false; } } - return total; + return (complete_total == total); }