X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=libtest%2Fmemcached.cc;h=e634df631eb372ab966bb1625fb2a71ea1d52a16;hb=45c6b15d970aca4fa5619b2ba501c1b0f1d89006;hp=e7c163957918feaac4fdac663a94126311f6a0b5;hpb=7ba11a92a63df071ee3f848c980c8459dc184ebc;p=awesomized%2Flibmemcached diff --git a/libtest/memcached.cc b/libtest/memcached.cc index e7c16395..e634df63 100644 --- a/libtest/memcached.cc +++ b/libtest/memcached.cc @@ -101,54 +101,26 @@ public: return _username; } - pid_t get_pid(bool error_is_ok) + bool wait_for_pidfile() const { - // Memcached is slow to start, so we need to do this - if (pid_file().empty() == false) - { - if (error_is_ok and - wait_for_pidfile() == false) - { - Error << "Pidfile was not found:" << pid_file(); - return -1; - } - } - - pid_t local_pid; - memcached_return_t rc= MEMCACHED_SUCCESS; - if (has_socket()) - { - if (socket().empty()) - { - return -1; - } - - local_pid= libmemcached_util_getpid(socket().c_str(), port(), &rc); - } - else - { - local_pid= libmemcached_util_getpid(hostname().c_str(), port(), &rc); - } + Wait wait(pid(), 4); - if (error_is_ok and ((memcached_failed(rc) or not is_pid_valid(local_pid)))) - { - Error << "libmemcached_util_getpid(" << memcached_strerror(NULL, rc) << ") pid: " << local_pid << " for:" << *this; - } - - return local_pid; + return wait.successful(); } bool ping() { +#if 0 // Memcached is slow to start, so we need to do this if (pid_file().empty() == false) { if (wait_for_pidfile() == false) { - Error << "Pidfile was not found:" << pid_file(); + Error << "Pidfile was not found:" << pid_file() << " :" << running(); return -1; } } +#endif memcached_return_t rc; bool ret; @@ -162,9 +134,10 @@ public: ret= libmemcached_util_ping(hostname().c_str(), port(), &rc); } - if (memcached_failed(rc) or not ret) + if (memcached_failed(rc) or ret == false) { Error << "libmemcached_util_ping(" << hostname() << ", " << port() << ") error: " << memcached_strerror(NULL, rc); + abort(); } return ret; @@ -247,37 +220,6 @@ public: set_pid_file(); } - pid_t get_pid(bool error_is_ok) - { - // Memcached is slow to start, so we need to do this - if (pid_file().empty() == false) - { - if (error_is_ok and wait_for_pidfile() == false) - { - Error << "Pidfile was not found:" << pid_file(); - return -1; - } - } - - bool success= false; - std::stringstream error_message; - pid_t local_pid= get_pid_from_file(pid_file(), error_message); - if (local_pid > 0) - { - if (::kill(local_pid, 0) > 0) - { - success= true; - } - } - - if (error_is_ok and ((success or not is_pid_valid(local_pid)))) - { - Error << "kill(" << " pid: " << local_pid << " errno:" << strerror(errno) << " for:" << *this; - } - - return local_pid; - } - bool ping() { // Memcached is slow to start, so we need to do this @@ -375,38 +317,6 @@ public: return MEMCACHED_SASL_BINARY; } - pid_t get_pid(bool error_is_ok) - { - // Memcached is slow to start, so we need to do this - if (pid_file().empty() == false) - { - if (error_is_ok and - wait_for_pidfile() == false) - { - Error << "Pidfile was not found:" << pid_file(); - return -1; - } - } - - pid_t local_pid; - memcached_return_t rc; - if (has_socket()) - { - local_pid= libmemcached_util_getpid2(socket().c_str(), 0, username().c_str(), password().c_str(), &rc); - } - else - { - local_pid= libmemcached_util_getpid2(hostname().c_str(), port(), username().c_str(), password().c_str(), &rc); - } - - if (error_is_ok and ((memcached_failed(rc) or not is_pid_valid(local_pid)))) - { - Error << "libmemcached_util_getpid2(" << memcached_strerror(NULL, rc) << ") username: " << username() << " password: " << password() << " pid: " << local_pid << " for:" << *this; - } - - return local_pid; - } - bool ping() { // Memcached is slow to start, so we need to do this