From dc28a9c0c19c324a0740669e3cc71e80b07a848e Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 14 Dec 2004 21:52:16 +0000 Subject: [PATCH] make sure the ipv6 http server gets its pid stored in a separate file --- tests/httpserver.pl | 7 ++++++- tests/runtests.pl | 3 +-- tests/server/sws.c | 19 ++++++++++++------- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/tests/httpserver.pl b/tests/httpserver.pl index bdd21f9a8..675aed5cf 100755 --- a/tests/httpserver.pl +++ b/tests/httpserver.pl @@ -7,6 +7,7 @@ my $verbose=0; # set to 1 for debugging my $dir="."; my $port = 8999; # just a default my $ipv6; +my $pid=".http.pid"; # name of the pidfile do { if($ARGV[0] eq "-v") { $verbose=1; @@ -15,6 +16,10 @@ do { $dir=$ARGV[1]; shift @ARGV; } + elsif($ARGV[0] eq "-p") { + $pid=$ARGV[1]; + shift @ARGV; + } elsif($ARGV[0] =~ /^(\d+)$/) { $port = $1; } @@ -23,4 +28,4 @@ do { } } while(shift @ARGV); -exec("server/sws $ipv6$port $dir"); +exec("server/sws --pidfile $pid $ipv6$port $dir"); diff --git a/tests/runtests.pl b/tests/runtests.pl index f66fdeef0..1be984b58 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -346,7 +346,6 @@ sub runhttpserver { $nameext="-ipv6"; } - $pid = checkserver($pidfile); # verify if our/any server is running on this port @@ -391,7 +390,7 @@ sub runhttpserver { if($dir) { $flag .= "-d \"$dir\" "; } - $cmd="$perl $srcdir/httpserver.pl $flag $port $ipv6 &"; + $cmd="$perl $srcdir/httpserver.pl -p $pidfile $flag $port $ipv6 &"; system($cmd); if($verbose) { print "CMD: $cmd\n"; diff --git a/tests/server/sws.c b/tests/server/sws.c index f690ab3e1..f53da9054 100644 --- a/tests/server/sws.c +++ b/tests/server/sws.c @@ -728,11 +728,12 @@ int main(int argc, char *argv[]) int sock, msgsock, flag; unsigned short port = DEFAULT_PORT; FILE *pidfile; + char *pidname= (char *)".http.pid"; struct httprequest req; int rc; + int arg=1; - if(argc>1) { - int arg=1; + while(argc>arg) { if(!strcmp("--version", argv[arg])) { printf("sws IPv4%s\n", #ifdef ENABLE_IPV6 @@ -743,20 +744,24 @@ int main(int argc, char *argv[]) ); return 0; } - if(!strcmp("--ipv6", argv[arg])) { + else if(!strcmp("--pidfile", argv[arg])) { + arg++; + if(argc>arg) + pidname = argv[arg++]; + } + else if(!strcmp("--ipv6", argv[arg])) { #ifdef ENABLE_IPV6 use_ipv6=TRUE; #endif arg++; } - if(argc>arg) { + else if(argc>arg) { if(atoi(argv[arg])) port = (unsigned short)atoi(argv[arg++]); if(argc>arg) - path = argv[arg]; - + path = argv[arg++]; } } @@ -820,7 +825,7 @@ int main(int argc, char *argv[]) exit(1); } - pidfile = fopen(".http.pid", "w"); + pidfile = fopen(pidname, "w"); if(pidfile) { fprintf(pidfile, "%d\n", (int)getpid()); fclose(pidfile);