X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=libtest%2Fmemcached.cc;h=ffb21c9d504154f3a47af9e4008e91c9fbecfe6c;hb=a6914530a90a2a72fec93da6b7024568e488414a;hp=e7c163957918feaac4fdac663a94126311f6a0b5;hpb=7ba11a92a63df071ee3f848c980c8459dc184ebc;p=m6w6%2Flibmemcached diff --git a/libtest/memcached.cc b/libtest/memcached.cc index e7c16395..ffb21c9d 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; - } + Wait wait(pid(), 4); - local_pid= libmemcached_util_getpid(socket().c_str(), port(), &rc); - } - else - { - local_pid= libmemcached_util_getpid(hostname().c_str(), port(), &rc); - } - - 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; @@ -247,37 +219,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 +316,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