aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2008-02-26 15:06:44 +0000
committerYang Tse <yangsita@gmail.com>2008-02-26 15:06:44 +0000
commit0d09f342c48b0d447fd506869959986da1746838 (patch)
treede9eead14a1ce4be7ecfd1039a30f6ad41f1014c
parent9682c2037e964cd64ba581ceff61a04bb6395a6b (diff)
refactor some code out to write_pidfile() in util.c
-rw-r--r--tests/server/sockfilt.c36
-rw-r--r--tests/server/sws.c15
-rw-r--r--tests/server/tftpd.c15
-rw-r--r--tests/server/util.c16
-rw-r--r--tests/server/util.h2
5 files changed, 32 insertions, 52 deletions
diff --git a/tests/server/sockfilt.c b/tests/server/sockfilt.c
index aeefb23bd..abe1b10fe 100644
--- a/tests/server/sockfilt.c
+++ b/tests/server/sockfilt.c
@@ -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;
}
diff --git a/tests/server/sws.c b/tests/server/sws.c
index 695c6b156..99f0bddbd 100644
--- a/tests/server/sws.c
+++ b/tests/server/sws.c
@@ -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;
}
diff --git a/tests/server/tftpd.c b/tests/server/tftpd.c
index 1c792d02d..be5c5b95c 100644
--- a/tests/server/tftpd.c
+++ b/tests/server/tftpd.c
@@ -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;
}
diff --git a/tests/server/util.c b/tests/server/util.c
index 15a4e60e1..66210a50e 100644
--- a/tests/server/util.c
+++ b/tests/server/util.c
@@ -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;
+}
diff --git a/tests/server/util.h b/tests/server/util.h
index 8c494192b..0ec820e17 100644
--- a/tests/server/util.h
+++ b/tests/server/util.h
@@ -51,4 +51,6 @@ char *test2file(long testno);
int wait_ms(int timeout_ms);
+bool write_pidfile(const char *filename);
+
#endif /* __SERVER_UTIL_H */