X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=libmemcached%2Fio.cc;h=51032f0062879c631b25c47010fb44ca59f3a0de;hb=1235c31867b421455a9758909144e74c954d9395;hp=74aa4a239d64bf3e9f894384860ce61694c19efe;hpb=ae6bc7501efd5aeaaee92dabe2da0ec2d1625c5b;p=m6w6%2Flibmemcached diff --git a/libmemcached/io.cc b/libmemcached/io.cc index 74aa4a23..51032f00 100644 --- a/libmemcached/io.cc +++ b/libmemcached/io.cc @@ -296,7 +296,7 @@ memcached_return_t memcached_io_read(memcached_server_write_instance_st ptr, { memcached_quit_server(ptr, true); *nread= -1; - return rc; + return memcached_set_error(*ptr, rc, MEMCACHED_AT); } } } @@ -314,7 +314,7 @@ memcached_return_t memcached_io_read(memcached_server_write_instance_st ptr, WATCHPOINT_STRING("We had a zero length recv()"); memcached_quit_server(ptr, true); *nread= -1; - return MEMCACHED_UNKNOWN_READ_FAILURE; + return memcached_set_error(*ptr, MEMCACHED_UNKNOWN_READ_FAILURE, MEMCACHED_AT); } } @@ -524,13 +524,14 @@ memcached_server_write_instance_st memcached_io_get_readable_server(memcached_st return NULL; } - int err= poll(fds, host_index, memc->poll_timeout); - switch (err) { + switch (poll(fds, host_index, memc->poll_timeout)) + { case -1: - memcached_set_errno(memc, get_socket_errno(), NULL); + memcached_set_errno(*memc, get_socket_errno(), MEMCACHED_AT); /* FALLTHROUGH */ case 0: break; + default: for (size_t x= 0; x < host_index; ++x) {