From: Brian Aker Date: Sat, 20 Jun 2009 19:18:01 +0000 (-0700) Subject: Merging replication X-Git-Tag: 0.31~15 X-Git-Url: https://git.m6w6.name/?a=commitdiff_plain;h=29db6c77e126d9ae0c416ad76402fdbef7372cdb;hp=dd306653cdd9b09904b25dc4f7ffe7c64d9fd357;p=m6w6%2Flibmemcached Merging replication --- diff --git a/.bzrignore b/.bzrignore index 4b8966e1..55777a95 100644 --- a/.bzrignore +++ b/.bzrignore @@ -109,6 +109,7 @@ libmemcached/jenkins_hash.lo libmemcached/libmemcached.la libmemcached/libmemcached_config.h libmemcached/libmemcached_config.h.in +libmemcached/memcached_configure.h libmemcached/md5.lo libmemcached/memcached.lo libmemcached/memcached_analyze.lo diff --git a/configure.ac b/configure.ac index af6d399e..17d3ff48 100644 --- a/configure.ac +++ b/configure.ac @@ -84,6 +84,7 @@ sinclude(m4/memcached.m4) sinclude(m4/setsockopt.m4) sinclude(m4/hsieh.m4) sinclude(m4/util.m4) +sinclude(m4/deprecated.m4) dnl This is likely subverted by vpath builds. How do we find the original dnl source dir in the configure step of a vpath build? @@ -158,6 +159,7 @@ AC_CONFIG_FILES([ tests/Makefile docs/Makefile libmemcached/Makefile + libmemcached/memcached_configure.h libmemcachedutil/Makefile support/Makefile support/libmemcached.pc diff --git a/libmemcached/Makefile.am b/libmemcached/Makefile.am index 1e3224c0..463e8ea5 100644 --- a/libmemcached/Makefile.am +++ b/libmemcached/Makefile.am @@ -1,4 +1,5 @@ -EXTRA_DIST = libmemcached_probes.d memcached/README.txt libmemcached.ver +EXTRA_DIST = libmemcached_probes.d memcached/README.txt libmemcached.ver \ + memcached_configure.h.in BUILT_SOURCES= @DTRACE_HEADER@ diff --git a/libmemcached/memcached.h b/libmemcached/memcached.h index 23f5d99a..9ac0df70 100644 --- a/libmemcached/memcached.h +++ b/libmemcached/memcached.h @@ -21,6 +21,7 @@ #ifdef MEMCACHED_INTERNAL #include #endif +#include #include #include #include diff --git a/libmemcached/memcached_configure.h.in b/libmemcached/memcached_configure.h.in new file mode 100644 index 00000000..d3af270a --- /dev/null +++ b/libmemcached/memcached_configure.h.in @@ -0,0 +1,22 @@ +/* + * Summary: Preprocessor symbols set from configure we need install-time + * + * Copy: See Copyright for the status of this software. + * + * Author: Trond Norbye + */ + +#ifndef MEMCACHED_CONFIGURE_H +#define MEMCACHED_CONFIGURE_H + +#ifdef __cplusplus +extern "C" { +#endif + +@DEPRECATED@ + +#ifdef __cplusplus +} +#endif + +#endif /* MEMCACHED_CONFIGURE_H */ diff --git a/libmemcached/memcached_get.c b/libmemcached/memcached_get.c index cdae9922..0209b283 100644 --- a/libmemcached/memcached_get.c +++ b/libmemcached/memcached_get.c @@ -449,9 +449,8 @@ static memcached_return replication_binary_mget(memcached_st *ptr, } } - if (success) { + if (success) break; - } } return rc; @@ -469,7 +468,9 @@ static memcached_return binary_mget_by_key(memcached_st *ptr, { rc= simple_binary_mget(ptr, master_server_key, is_master_key_set, keys, key_length, number_of_keys); - } else { + } + else + { uint32_t* hash; bool* dead_servers; @@ -484,10 +485,10 @@ static memcached_return binary_mget_by_key(memcached_st *ptr, } if (is_master_key_set) - for (unsigned int x= 0; x < number_of_keys; ++x) + for (unsigned int x= 0; x < number_of_keys; x++) hash[x]= master_server_key; else - for (unsigned int x= 0; x < number_of_keys; ++x) + for (unsigned int x= 0; x < number_of_keys; x++) hash[x]= memcached_generate_hash(ptr, keys[x], key_length[x]); rc= replication_binary_mget(ptr, hash, dead_servers, keys, diff --git a/m4/deprecated.m4 b/m4/deprecated.m4 new file mode 100644 index 00000000..9268f776 --- /dev/null +++ b/m4/deprecated.m4 @@ -0,0 +1,18 @@ +dnl --------------------------------------------------------------------------- +dnl Macro: deprecated +dnl --------------------------------------------------------------------------- +AC_ARG_ENABLE([deprecated], + [AS_HELP_STRING([--enable-deprecated], + [Enable deprecated interface @<:@default=off@:>@])], + [ac_enable_deprecated="$enableval"], + [ac_enable_deprecated="no"]) + +if test "x$ac_enable_deprecated" = "xyes" +then + DEPRECATED="#define MEMCACHED_ENABLE_DEPRECATED 1" +fi + +AC_SUBST(DEPRECATED) +dnl --------------------------------------------------------------------------- +dnl End Macro: deprecated +dnl --------------------------------------------------------------------------- diff --git a/tests/function.c b/tests/function.c index 7b13b1b6..5f83e1ea 100644 --- a/tests/function.c +++ b/tests/function.c @@ -3648,7 +3648,8 @@ static test_return replication_mget_test(memcached_st *memc) * This is to verify correct behavior in the library */ memcached_result_st result_obj; - for (int host= 0; host < clone->number_of_hosts; ++host) { + for (int host= 0; host < clone->number_of_hosts; ++host) + { memcached_st *clone= memcached_clone(NULL, memc); clone->hosts[host].port= 0; @@ -3665,7 +3666,7 @@ static test_return replication_mget_test(memcached_st *memc) int hits= 0; while ((results= memcached_fetch_result(clone, &result_obj, &rc)) != NULL) { - ++hits; + hits++; } assert(hits == 4); memcached_result_free(&result_obj); @@ -3708,7 +3709,8 @@ static test_return replication_delete_test(memcached_st *memc) } memcached_result_st result_obj; - for (int host= 0; host < clone->number_of_hosts; ++host) { + for (int host= 0; host < clone->number_of_hosts; ++host) + { for (int x= 'a'; x <= 'z'; ++x) { char key[2]= { [0]= (char)x }; @@ -3745,6 +3747,7 @@ static uint16_t *get_udp_request_ids(memcached_st *memc) uint16_t *ids= malloc(sizeof(uint16_t) * memc->number_of_hosts); assert(ids != NULL); unsigned int x; + for (x= 0; x < memc->number_of_hosts; x++) ids[x]= get_udp_datagram_request_id((struct udp_datagram_header_st *) memc->hosts[x].write_buffer); @@ -3756,6 +3759,7 @@ static test_return post_udp_op_check(memcached_st *memc, uint16_t *expected_req_ unsigned int x; memcached_server_st *cur_server = memc->hosts; uint16_t *cur_req_ids = get_udp_request_ids(memc); + for (x= 0; x < memc->number_of_hosts; x++) { assert(cur_server[x].cursor_active == 0); @@ -3763,6 +3767,7 @@ static test_return post_udp_op_check(memcached_st *memc, uint16_t *expected_req_ } free(expected_req_ids); free(cur_req_ids); + return TEST_SUCCESS; } @@ -3784,6 +3789,7 @@ static memcached_return init_udp(memcached_st *memc) memcpy(servers, memc->hosts, sizeof(memcached_server_st) * num_hosts); for (x= 0; x < num_hosts; x++) memcached_server_free(&memc->hosts[x]); + memc->number_of_hosts= 0; memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_USE_UDP, 1); for (x= 0; x < num_hosts; x++) @@ -3791,6 +3797,7 @@ static memcached_return init_udp(memcached_st *memc) assert(memcached_server_add_udp(memc, servers[x].hostname, servers[x].port) == MEMCACHED_SUCCESS); assert(memc->hosts[x].write_buffer_offset == UDP_DATAGRAM_HEADER_LENGTH); } + return MEMCACHED_SUCCESS; }