X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Flibmemcached%2Ffetch.cc;h=fee6a10d219d12cd36ef0523311803cb1f93696c;hb=HEAD;hp=12f046c92c254eae5945f094770444f257921df9;hpb=e4dc06e9f89a6aa678e2973898ae75faa80bc0c2;p=awesomized%2Flibmemcached diff --git a/src/libmemcached/fetch.cc b/src/libmemcached/fetch.cc index 12f046c9..fee6a10d 100644 --- a/src/libmemcached/fetch.cc +++ b/src/libmemcached/fetch.cc @@ -1,6 +1,6 @@ /* +--------------------------------------------------------------------+ - | libmemcached - C/C++ Client Library for memcached | + | libmemcached-awesome - C/C++ Client Library for memcached | +--------------------------------------------------------------------+ | Redistribution and use in source and binary forms, with or without | | modification, are permitted under the terms of the BSD license. | @@ -141,6 +141,7 @@ memcached_result_st *memcached_fetch_result(memcached_st *ptr, memcached_result_ memcached_instance_st *server; memcached_return_t read_ret = MEMCACHED_SUCCESS; bool connection_failures = false; + bool timeouts = false; while ((server = memcached_io_get_readable_server(ptr, read_ret))) { char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE]; *error = memcached_response(server, buffer, sizeof(buffer), result); @@ -150,6 +151,8 @@ memcached_result_st *memcached_fetch_result(memcached_st *ptr, memcached_result_ } else if (*error == MEMCACHED_CONNECTION_FAILURE) { connection_failures = true; continue; + } else if (*error == MEMCACHED_TIMEOUT) { + timeouts = true; } else if (*error == MEMCACHED_SUCCESS) { result->count++; return result; @@ -175,6 +178,8 @@ memcached_result_st *memcached_fetch_result(memcached_st *ptr, memcached_result_ that. */ *error = MEMCACHED_CONNECTION_FAILURE; + } else if (timeouts) { + *error = MEMCACHED_TIMEOUT; } else if (*error == MEMCACHED_SUCCESS) { *error = MEMCACHED_END; } else if (result->count == 0) {