X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fio.cc;h=6d9cad9a51f3e815e56e959ee3814b609bcd4681;hb=2897ccfa82591bd17d02c344465c4a74e3b3dbae;hp=886476f6b353301f88f76725357486e38434a431;hpb=77c9719d429337239b3f5e3d7fc5c17492682a77;p=awesomized%2Flibmemcached diff --git a/libmemcached/io.cc b/libmemcached/io.cc index 886476f6..6d9cad9a 100644 --- a/libmemcached/io.cc +++ b/libmemcached/io.cc @@ -79,10 +79,10 @@ static bool repack_input_buffer(org::libmemcached::Instance* ptr) do { /* Just try a single read to grab what's available */ ssize_t nr; - if ((nr= recv(ptr->fd, + if ((nr= ::recv(ptr->fd, ptr->read_ptr + ptr->read_data_length, MEMCACHED_MAX_BUFFER - ptr->read_data_length, - MSG_DONTWAIT)) <= 0) + MSG_NOSIGNAL)) <= 0) { if (nr == 0) { @@ -337,11 +337,11 @@ static bool io_flush(org::libmemcached::Instance* ptr, int flags; if (with_flush) { - flags= MSG_NOSIGNAL|MSG_DONTWAIT; + flags= MSG_NOSIGNAL; } else { - flags= MSG_NOSIGNAL|MSG_DONTWAIT|MSG_MORE; + flags= MSG_NOSIGNAL|MSG_MORE; } ssize_t sent_length= ::send(ptr->fd, local_write_ptr, write_length, flags); @@ -419,7 +419,7 @@ static memcached_return_t _io_fill(org::libmemcached::Instance* ptr) ssize_t data_read; do { - data_read= ::recv(ptr->fd, ptr->read_buffer, MEMCACHED_MAX_BUFFER, MSG_DONTWAIT); + data_read= ::recv(ptr->fd, ptr->read_buffer, MEMCACHED_MAX_BUFFER, MSG_NOSIGNAL); if (data_read == SOCKET_ERROR) { switch (get_socket_errno()) @@ -557,7 +557,7 @@ memcached_return_t memcached_io_slurp(org::libmemcached::Instance* ptr) char buffer[MEMCACHED_MAX_BUFFER]; do { - data_read= recv(ptr->fd, ptr->read_buffer, sizeof(buffer), MSG_DONTWAIT); + data_read= ::recv(ptr->fd, ptr->read_buffer, sizeof(buffer), MSG_NOSIGNAL); if (data_read == SOCKET_ERROR) { switch (get_socket_errno()) @@ -727,7 +727,7 @@ void memcached_io_close(org::libmemcached::Instance* ptr) ptr->fd= INVALID_SOCKET; } -org::libmemcached::Instance* memcached_io_get_readable_server(memcached_st *memc) +org::libmemcached::Instance* memcached_io_get_readable_server(memcached_st *memc, memcached_return_t&) { #define MAX_SERVERS_TO_POLL 100 struct pollfd fds[MAX_SERVERS_TO_POLL]; @@ -742,7 +742,7 @@ org::libmemcached::Instance* memcached_io_get_readable_server(memcached_st *memc return instance; } - if (memcached_instance_response_count(instance) > 0) + if (instance->response_count() > 0) { fds[host_index].events= POLLIN; fds[host_index].revents= 0; @@ -758,7 +758,7 @@ org::libmemcached::Instance* memcached_io_get_readable_server(memcached_st *memc { org::libmemcached::Instance* instance= memcached_instance_fetch(memc, x); - if (memcached_instance_response_count(instance) > 0) + if (instance->response_count() > 0) { return instance; }