X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=test%2Flib%2FCluster.cpp;h=de05a79769663e4801866c2c1d4ace41864233b8;hb=4ef24d8849ffcce9fdc78ef9907aa744a69687dc;hp=1186077b2b945187a4042041b00b211e399789b2;hpb=9c7babba79ee747f7f549912ea01fd83c37f7e0c;p=awesomized%2Flibmemcached diff --git a/test/lib/Cluster.cpp b/test/lib/Cluster.cpp index 1186077b..de05a797 100644 --- a/test/lib/Cluster.cpp +++ b/test/lib/Cluster.cpp @@ -2,6 +2,9 @@ #include "Retry.hpp" #include +#if HAVE_EXECUTION && HAVE_TBB +# include +#endif #include Cluster::Cluster(Server serv, size_t cnt) @@ -53,7 +56,7 @@ void Cluster::stop(bool graceful) { bool Cluster::isStopped() { return none_of( -#if HAVE_EXECUTION +#if HAVE_EXECUTION && HAVE_TBB execution::par, #endif cluster.begin(), cluster.end(), [](Server &s) { @@ -63,10 +66,10 @@ bool Cluster::isStopped() { bool Cluster::isListening() const { return all_of( -#if HAVE_EXECUTION +#if HAVE_EXECUTION && HAVE_TBB execution::par, #endif - cluster.cbegin(), cluster.cend(), [](const Server &s) { + cluster.begin(), cluster.end(), [](const Server &s) { return s.isListening(); }); } @@ -76,7 +79,7 @@ bool Cluster::ensureListening() { return false; } auto listening = all_of( -#if HAVE_EXECUTION +#if HAVE_EXECUTION && HAVE_TBB execution::par, #endif cluster.begin(), cluster.end(), [](Server &s) { @@ -95,6 +98,7 @@ void Cluster::wait() { siginfo_t inf; while (!isStopped()) { +#if HAVE_WAITID_NOWAIT if (waitid(P_ALL, 0, &inf, WEXITED | WNOWAIT)) { perror("Cluster::wait waitid()"); return; @@ -104,6 +108,9 @@ void Cluster::wait() { if (server != pids.end()) { server->second->wait(); } +#else + this_thread::sleep_for(100ms); +#endif } }