X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=test%2Flib%2FMemcachedCluster.cpp;h=521ff12cde1d81332995802ade4eeff18ab3cd9b;hb=21e20f73898b5f47e6cbd866beb95e95d6bf1215;hp=ca41a904d956817054753e25876e0e1fb35ad084;hpb=c27e726da1b07ef20a1cabb235f7924a9fed4170;p=m6w6%2Flibmemcached diff --git a/test/lib/MemcachedCluster.cpp b/test/lib/MemcachedCluster.cpp index ca41a904..521ff12c 100644 --- a/test/lib/MemcachedCluster.cpp +++ b/test/lib/MemcachedCluster.cpp @@ -6,13 +6,8 @@ const memcached_st MemcachedCluster::empty_memc{}; void MemcachedCluster::init() { REQUIRE(cluster.start()); - Retry cluster_is_listening([this]() { - return cluster.isListening(); - }); - while (!cluster_is_listening()) { - cluster.stop(); - cluster.wait(); - cluster.start(); + while (!isListening()) { + cluster.restart(); } if (auto br = getenv_else("MEMCACHED_BREAK", "0")) { @@ -151,3 +146,7 @@ void MemcachedCluster::killOneServer() const { const auto &victim = servers[random_num(0UL, servers.size() - 1)]; ::kill(victim.getPid(), SIGKILL); } + +bool MemcachedCluster::isListening() { + return Retry{[this]() {return cluster.isListening();}}(); +}