X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=libmemcached%2Fmemcached_io.c;h=3566dd2cc9dd5b8666b6a95e3c9cf874343a12b0;hb=7582050eb5e2bdc7e055c84d639a7cb5b407cd4c;hp=95774865445ced3318f32cb26cea51da29a7809c;hpb=c97c8525686219ecae254d6e6a4b8ccab0777269;p=awesomized%2Flibmemcached diff --git a/libmemcached/memcached_io.c b/libmemcached/memcached_io.c index 95774865..3566dd2c 100644 --- a/libmemcached/memcached_io.c +++ b/libmemcached/memcached_io.c @@ -23,9 +23,9 @@ static memcached_return io_wait(memcached_server_st *ptr, int error; if (read_or_write == MEM_WRITE) /* write */ - flags= POLLOUT | POLLERR; + flags= POLLOUT; else - flags= POLLIN | POLLERR; + flags= POLLIN; memset(&fds, 0, sizeof(struct pollfd)); fds[0].fd= ptr->fd; @@ -228,7 +228,9 @@ ssize_t memcached_io_write(memcached_server_st *ptr, /* If io_flush calls memcached_purge, sent_length may be 0 */ if (sent_length != 0) + { WATCHPOINT_ASSERT(sent_length == buffer_end); + } } } @@ -278,9 +280,11 @@ memcached_server_st *memcached_io_get_readable_server(memcached_st *memc) { #define MAX_SERVERS_TO_POLL 100 struct pollfd fds[MAX_SERVERS_TO_POLL]; - int index= 0; + unsigned int index= 0; - for (int x= 0; x< memc->number_of_hosts && index < MAX_SERVERS_TO_POLL; ++x) + for (unsigned int x= 0; + x< memc->number_of_hosts && index < MAX_SERVERS_TO_POLL; + ++x) { if (memc->hosts[x].read_buffer_length > 0) /* I have data in the buffer */ return &memc->hosts[x]; @@ -297,7 +301,7 @@ memcached_server_st *memcached_io_get_readable_server(memcached_st *memc) if (index < 2) { /* We have 0 or 1 server with pending events.. */ - for (int x= 0; x< memc->number_of_hosts; ++x) + for (unsigned int x= 0; x< memc->number_of_hosts; ++x) if (memcached_server_response_count(&memc->hosts[x]) > 0) return &memc->hosts[x]; @@ -312,9 +316,9 @@ memcached_server_st *memcached_io_get_readable_server(memcached_st *memc) case 0: break; default: - for (int x= 0; x < index; ++x) + for (unsigned int x= 0; x < index; ++x) if (fds[x].revents & POLLIN) - for (int y= 0; y < memc->number_of_hosts; ++y) + for (unsigned int y= 0; y < memc->number_of_hosts; ++y) if (memc->hosts[y].fd == fds[x].fd) return &memc->hosts[y]; } @@ -397,7 +401,8 @@ static ssize_t io_flush(memcached_server_st *ptr, } } - if (ptr->type == MEMCACHED_CONNECTION_UDP && sent_length != write_length) + if (ptr->type == MEMCACHED_CONNECTION_UDP && + (size_t)sent_length != write_length) { memcached_quit_server(ptr, 1); return -1; @@ -462,7 +467,7 @@ memcached_return memcached_io_readline(memcached_server_st *ptr, size_t size) { bool line_complete= false; - int total_nr= 0; + size_t total_nr= 0; while (!line_complete) {