X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fget.cc;h=211701027bd9072024e21c3594023fa84fac79ac;hb=969fea8e7bed82c109685ec3976cf7b0ec514ae9;hp=8c98d4ca0991e65583a8383d18992e1eff049ff4;hpb=0fe409a0db64fc9d24a44ac363c502ea9e98857e;p=m6w6%2Flibmemcached diff --git a/libmemcached/get.cc b/libmemcached/get.cc index 8c98d4ca..21170102 100644 --- a/libmemcached/get.cc +++ b/libmemcached/get.cc @@ -469,7 +469,9 @@ static memcached_return_t simple_binary_mget(memcached_st *ptr, { rc= memcached_connect(instance); if (memcached_failed(rc)) + { continue; + } } protocol_binary_request_getk request= { }; //= {.bytes= {0}}; @@ -589,16 +591,21 @@ static memcached_return_t replication_binary_mget(memcached_st *ptr, server += start; while (server >= memcached_server_count(ptr)) + { server -= memcached_server_count(ptr); + } if (dead_servers[server]) + { continue; + } memcached_server_write_instance_st instance= memcached_server_instance_fetch(ptr, server); if (memcached_server_response_count(instance) == 0) { rc= memcached_connect(instance); + if (memcached_failed(rc)) { memcached_io_reset(instance);