refactor some code out to write_pidfile() in util.c
authorYang Tse <yangsita@gmail.com>
Tue, 26 Feb 2008 15:06:44 +0000 (15:06 +0000)
committerYang Tse <yangsita@gmail.com>
Tue, 26 Feb 2008 15:06:44 +0000 (15:06 +0000)
tests/server/sockfilt.c
tests/server/sws.c
tests/server/tftpd.c
tests/server/util.c
tests/server/util.h

index aeefb23..abe1b10 100644 (file)
@@ -98,6 +98,17 @@ static volatile int sigpipe;  /* Why? It's not used */
 
 const char *serverlogfile = (char *)DEFAULT_LOGFILE;
 
+bool use_ipv6 = FALSE;
+unsigned short port = DEFAULT_PORT;
+unsigned short connectport = 0; /* if non-zero, we activate this mode */
+
+enum sockmode {
+  PASSIVE_LISTEN,    /* as a server waiting for connections */
+  PASSIVE_CONNECT,   /* as a server, connected to a client */
+  ACTIVE,            /* as a client, connected to a server */
+  ACTIVE_DISCONNECT  /* as a client, disconnected from server */
+};
+
 static void lograw(unsigned char *buffer, ssize_t len)
 {
   char data[120];
@@ -143,17 +154,6 @@ static void sigpipe_handler(int sig)
 }
 #endif
 
-bool use_ipv6=FALSE;
-unsigned short port = DEFAULT_PORT;
-unsigned short connectport = 0; /* if non-zero, we activate this mode */
-
-enum sockmode {
-  PASSIVE_LISTEN,    /* as a server waiting for connections */
-  PASSIVE_CONNECT,   /* as a server, connected to a client */
-  ACTIVE,            /* as a client, connected to a server */
-  ACTIVE_DISCONNECT  /* as a client, disconnected from server */
-};
-
 /*
   sockfdp is a pointer to an established stream or CURL_SOCKET_BAD
 
@@ -519,7 +519,6 @@ int main(int argc, char *argv[])
 #endif /* ENABLE_IPV6 */
   curl_socket_t sock;
   curl_socket_t msgsock;
-  FILE *pidfile;
   char *pidname= (char *)".sockfilt.pid";
   int rc;
   int error;
@@ -682,18 +681,7 @@ int main(int argc, char *argv[])
   else
     logmsg("Listening on port %d", port);
 
-  pidfile = fopen(pidname, "w");
-  if(pidfile) {
-    long pid = (long)getpid();
-    fprintf(pidfile, "%ld\n", pid);
-    fclose(pidfile);
-    logmsg("Wrote pid %ld to %s", pid, pidname);
-  }
-  else {
-    error = ERRNO;
-    logmsg("fopen() failed with error: %d %s", error, strerror(error));
-    logmsg("Error opening file: %s", pidname);
-    logmsg("Couldn't write pid file");
+  if(!write_pidfile(pidname)) {
     sclose(sock);
     return 1;
   }
index 695c6b1..99f0bdd 100644 (file)
@@ -832,11 +832,9 @@ int main(int argc, char *argv[])
   curl_socket_t sock, msgsock;
   int flag;
   unsigned short port = DEFAULT_PORT;
-  FILE *pidfile;
   char *pidname= (char *)".http.pid";
   struct httprequest req;
   int rc;
-  int error;
   int arg=1;
 #ifdef CURL_SWS_FORK_ENABLED
   bool use_fork = FALSE;
@@ -946,18 +944,7 @@ int main(int argc, char *argv[])
     return 1;
   }
 
-  pidfile = fopen(pidname, "w");
-  if(pidfile) {
-    long pid = (long)getpid();
-    fprintf(pidfile, "%ld\n", pid);
-    fclose(pidfile);
-    logmsg("Wrote pid %ld to %s", pid, pidname);
-  }
-  else {
-    error = ERRNO;
-    logmsg("fopen() failed with error: %d %s", error, strerror(error));
-    logmsg("Error opening file: %s", pidname);
-    logmsg("Couldn't write pid file");
+  if(!write_pidfile(pidname)) {
     sclose(sock);
     return 1;
   }
index 1c792d0..be5c5b9 100644 (file)
@@ -417,13 +417,11 @@ int main(int argc, char **argv)
   struct tftphdr *tp;
   int n = 0;
   int arg = 1;
-  FILE *pidfile;
   char *pidname= (char *)".tftpd.pid";
   unsigned short port = DEFAULT_PORT;
   curl_socket_t sock;
   int flag;
   int rc;
-  int error;
   struct testcase test;
 
   while(argc>arg) {
@@ -509,18 +507,7 @@ int main(int argc, char **argv)
     return 1;
   }
 
-  pidfile = fopen(pidname, "w");
-  if(pidfile) {
-    long pid = (long)getpid();
-    fprintf(pidfile, "%ld\n", pid);
-    fclose(pidfile);
-    logmsg("Wrote pid %ld to %s", pid, pidname);
-  }
-  else {
-    error = ERRNO;
-    logmsg("fopen() failed with error: %d %s", error, strerror(error));
-    logmsg("Error opening file: %s", pidname);
-    logmsg("Couldn't write pid file");
+  if(!write_pidfile(pidname)) {
     sclose(sock);
     return 1;
   }
index 15a4e60..66210a5 100644 (file)
@@ -222,3 +222,19 @@ int wait_ms(int timeout_ms)
   return r;
 }
 
+bool write_pidfile(const char *filename)
+{
+  FILE *pidfile;
+  long pid;
+
+  pid = (long)getpid();
+  pidfile = fopen(filename, "w");
+  if(!pidfile) {
+    logmsg("Couldn't write pid file: %s %s", filename, strerror(ERRNO));
+    return FALSE;
+  }
+  fprintf(pidfile, "%ld\n", pid);
+  fclose(pidfile);
+  logmsg("Wrote pid %ld to %s", pid, filename);
+  return true;
+}
index 8c49419..0ec820e 100644 (file)
@@ -51,4 +51,6 @@ char *test2file(long testno);
 
 int wait_ms(int timeout_ms);
 
+bool write_pidfile(const char *filename);
+
 #endif  /* __SERVER_UTIL_H */