Merge
[m6w6/libmemcached] / libtest / gearmand.cc
index 9a7649ef07114a058fbbab2a969b424d4a509cc4..deac09f3562cd2754b63e049fb9ff4d93cce56f8 100644 (file)
@@ -21,6 +21,7 @@
 
 
 #include <libtest/common.h>
+
 #include <libtest/gearmand.h>
 
 #include "util/instance.hpp"
@@ -36,6 +37,7 @@ using namespace libtest;
 #include <cstring>
 #include <iostream>
 #include <signal.h>
+#include <sstream>
 #include <sys/types.h>
 #include <sys/wait.h>
 #include <unistd.h>
@@ -65,13 +67,12 @@ public:
   bool call(const bool success, const std::string &response)
   {
     _pid= -1;
-
     if (success and response.size())
     {
       _pid= atoi(response.c_str());
     }
 
-    if (_pid < 1)
+    if (is_pid_valid(_pid) == false)
     {
       _pid= -1;
       return false;
@@ -83,13 +84,15 @@ public:
 
 using namespace libtest;
 
-class Gearmand : public Server
+class Gearmand : public libtest::Server
 {
 private:
 public:
   Gearmand(const std::string& host_arg, in_port_t port_arg) :
-    Server(host_arg, port_arg)
-  { }
+    libtest::Server(host_arg, port_arg)
+  {
+    set_pid_file();
+  }
 
   pid_t get_pid(bool error_is_ok)
   {
@@ -182,9 +185,6 @@ public:
   bool build(int argc, const char *argv[]);
 };
 
-
-#include <sstream>
-
 bool Gearmand::build(int argc, const char *argv[])
 {
   std::stringstream arg_buffer;
@@ -208,7 +208,7 @@ bool Gearmand::build(int argc, const char *argv[])
 
 namespace libtest {
 
-Server *build_gearmand(const char *hostname, in_port_t try_port)
+libtest::Server *build_gearmand(const char *hostname, in_port_t try_port)
 {
   return new Gearmand(hostname, try_port);
 }