diff options
author | Yang Tse <yangsita@gmail.com> | 2008-02-26 15:06:44 +0000 |
---|---|---|
committer | Yang Tse <yangsita@gmail.com> | 2008-02-26 15:06:44 +0000 |
commit | 0d09f342c48b0d447fd506869959986da1746838 (patch) | |
tree | de9eead14a1ce4be7ecfd1039a30f6ad41f1014c /tests/server | |
parent | 9682c2037e964cd64ba581ceff61a04bb6395a6b (diff) |
refactor some code out to write_pidfile() in util.c
Diffstat (limited to 'tests/server')
-rw-r--r-- | tests/server/sockfilt.c | 36 | ||||
-rw-r--r-- | tests/server/sws.c | 15 | ||||
-rw-r--r-- | tests/server/tftpd.c | 15 | ||||
-rw-r--r-- | tests/server/util.c | 16 | ||||
-rw-r--r-- | 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 */ |