X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fio.cc;h=ed33f05a2e6ba4d94ba7d74774456c9c18a93e2a;hb=0b1f3751f2f2131482edd2fd23bd02b5242b5aac;hp=06aa57c16f00f73813cc7a5d09c34b797b42f54b;hpb=c633911d2e1bb3638db6d280048169e9022f3455;p=m6w6%2Flibmemcached diff --git a/libmemcached/io.cc b/libmemcached/io.cc index 06aa57c1..ed33f05a 100644 --- a/libmemcached/io.cc +++ b/libmemcached/io.cc @@ -178,7 +178,7 @@ static memcached_return_t io_wait(memcached_server_write_instance_st ptr, */ if (read_or_write == MEM_WRITE) { - if (memcached_fatal(memcached_purge(ptr))) + if (memcached_purge(ptr) == false) { return MEMCACHED_FAILURE; } @@ -276,9 +276,8 @@ static bool io_flush(memcached_server_write_instance_st ptr, */ { WATCHPOINT_ASSERT(ptr->fd != INVALID_SOCKET); - memcached_return_t rc= memcached_purge(ptr); - if (rc != MEMCACHED_SUCCESS and rc != MEMCACHED_STORED) + if (memcached_purge(ptr) == false) { return false; } @@ -532,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: @@ -553,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); @@ -621,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; } @@ -644,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); }