From 0d09f342c48b0d447fd506869959986da1746838 Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Tue, 26 Feb 2008 15:06:44 +0000 Subject: [PATCH] refactor some code out to write_pidfile() in util.c --- tests/server/sockfilt.c | 36 ++++++++++++------------------------ tests/server/sws.c | 15 +-------------- tests/server/tftpd.c | 15 +-------------- tests/server/util.c | 16 ++++++++++++++++ tests/server/util.h | 2 ++ 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 */