X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Ffetch.cc;h=d5730105bd069677c346f9e57ff823eb882d1ec8;hb=ad94287c37250fcb1f7881705f0effb37bae7da5;hp=dd0b036d8433cecc7177e54f9c40912f1a2a5b0c;hpb=625e84ebfc422790372bc2984f504bdcb4da779c;p=awesomized%2Flibmemcached diff --git a/libmemcached/fetch.cc b/libmemcached/fetch.cc index dd0b036d..d5730105 100644 --- a/libmemcached/fetch.cc +++ b/libmemcached/fetch.cc @@ -122,8 +122,6 @@ memcached_result_st *memcached_fetch_result(memcached_st *ptr, memcached_result_st *result, memcached_return_t *error) { - memcached_server_st *server; - memcached_return_t unused; if (not error) error= &unused; @@ -159,12 +157,17 @@ memcached_result_st *memcached_fetch_result(memcached_st *ptr, } *error= MEMCACHED_MAXIMUM_RETURN; // We use this to see if we ever go into the loop + memcached_server_st *server; while ((server= memcached_io_get_readable_server(ptr))) { char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE]; *error= memcached_response(server, buffer, sizeof(buffer), result); - if (*error == MEMCACHED_SUCCESS) + if (*error == MEMCACHED_IN_PROGRESS) + { + continue; + } + else if (*error == MEMCACHED_SUCCESS) { result->count++; return result;