X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached_get.c;h=05b317a6268b79d19b5a711d49dfb05cf4dc3cb1;hb=542ea353c726f6d552b51128932a9b18ed3ed8f2;hp=9d33a85c27d0a9257d4d3e39c5d5996297d5145a;hpb=29abebf2b9609f8b00ad26e1911b9a9d21d1fbff;p=awesomized%2Flibmemcached diff --git a/libmemcached/memcached_get.c b/libmemcached/memcached_get.c index 9d33a85c..05b317a6 100644 --- a/libmemcached/memcached_get.c +++ b/libmemcached/memcached_get.c @@ -27,7 +27,7 @@ char *memcached_get_by_key(memcached_st *ptr, uint32_t dummy_flags; memcached_return dummy_error; - if (ptr->flags & MEM_USE_UDP) + unlikely (ptr->flags & MEM_USE_UDP) { *error= MEMCACHED_NOT_SUPPORTED; return NULL; @@ -125,10 +125,10 @@ memcached_return memcached_mget_by_key(memcached_st *ptr, memcached_return rc= MEMCACHED_NOTFOUND; char *get_command= "get "; uint8_t get_command_length= 4; - unsigned int master_server_key; /* 0 is a valid server id! */ + unsigned int master_server_key= (unsigned int)-1; /* 0 is a valid server id! */ bool is_master_key_set= false; - if (ptr->flags & MEM_USE_UDP) + unlikely (ptr->flags & MEM_USE_UDP) return MEMCACHED_NOT_SUPPORTED; LIBMEMCACHED_MEMCACHED_MGET_START(); @@ -318,6 +318,9 @@ static memcached_return binary_mget_by_key(memcached_st *ptr, continue; } memcached_server_response_increment(&ptr->hosts[server_key]); + if ((x > 0 && x == ptr->io_key_prefetch) && + memcached_flush_buffers(ptr) != MEMCACHED_SUCCESS) + rc= MEMCACHED_SOME_ERRORS; } if (number_of_keys > 1)