aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-01-17 19:49:12 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-01-17 19:49:12 +0000
commit3851c6aae217c0086a8cfc497abfb8a77518dbcd (patch)
tree05aaa78d6d68b789a7bab445ac0c681eb49b85c4
parentae03fa7d8eea3b9607dca52ddf542f17d5429dd8 (diff)
support the new --id command line option, that allows a second (or third or
whatever) instance to run without overwriting the previous' logfiles
-rw-r--r--tests/ftpserver.pl17
1 files changed, 12 insertions, 5 deletions
diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl
index 59740a8ae..f348de96f 100644
--- a/tests/ftpserver.pl
+++ b/tests/ftpserver.pl
@@ -38,11 +38,13 @@ use strict;
require "getpart.pm";
+my $ftpdnum="";
+
# open and close each time to allow removal at any time
sub logmsg {
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
localtime(time);
- open(FTPLOG, ">>log/ftpd.log");
+ open(FTPLOG, ">>log/ftpd$ftpdnum.log");
printf FTPLOG ("%02d:%02d:%02d ", $hour, $min, $sec);
print FTPLOG @_;
close(FTPLOG);
@@ -50,8 +52,8 @@ sub logmsg {
sub ftpmsg {
# append to the server.input file
- open(INPUT, ">>log/server.input") ||
- logmsg "failed to open log/server.input\n";
+ open(INPUT, ">>log/server$ftpdnum.input") ||
+ logmsg "failed to open log/server$ftpdnum.input\n";
INPUT->autoflush(1);
print INPUT @_;
@@ -77,6 +79,10 @@ do {
$srcdir=$ARGV[1];
shift @ARGV;
}
+ elsif($ARGV[0] eq "--id") {
+ $ftpdnum=$ARGV[1];
+ shift @ARGV;
+ }
elsif($ARGV[0] =~ /^(\d+)$/) {
$port = $1;
}
@@ -90,9 +96,10 @@ setsockopt(Server, SOL_SOCKET, SO_REUSEADDR,
bind(Server, sockaddr_in($port, INADDR_ANY))|| die "bind: $!";
listen(Server,SOMAXCONN) || die "listen: $!";
-#print "FTP server started on port $port\n";
-open(PID, ">.ftp.pid");
+logmsg "FTP server started on port $port\n";
+
+open(PID, ">.ftp$ftpdnum.pid");
print PID $$;
close(PID);