You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by fi...@locus.apache.org on 2000/07/16 02:06:40 UTC
cvs commit: apache-2.0/src/support ab.c
fielding 00/07/15 17:06:40
Modified: src CHANGES
src/support ab.c
Log:
ab would start up more connections than needed, then quit when the
desired number were finished. Also fixed a logic error involving
ab keepalives.
Submitted by: Victor J. Orlikowski
Reviewed by: Roy Fielding
Revision Changes Path
1.170 +5 -0 apache-2.0/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/apache-2.0/src/CHANGES,v
retrieving revision 1.169
retrieving revision 1.170
diff -u -r1.169 -r1.170
--- CHANGES 2000/07/06 15:27:51 1.169
+++ CHANGES 2000/07/16 00:06:39 1.170
@@ -1,4 +1,9 @@
Changes with Apache 2.0a5
+
+ *) ab would start up more connections than needed, then quit when the
+ desired number were finished. Also fixed a logic error involving
+ ab keepalives. [Victor J. Orlikowski]
+
*) WinNT: Implement non-blocking pipes with timeouts to communicate
with CGIs. Apache 2.0a4 had non-blocking pipes but without
timeouts (i.e, if a timeout was specified, the pipe reverted to
1.19 +8 -3 apache-2.0/src/support/ab.c
Index: ab.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/support/ab.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- ab.c 2000/06/12 23:03:04 1.18
+++ ab.c 2000/07/16 00:06:39 1.19
@@ -203,6 +203,7 @@
int totalposted = 0; /* total number of bytes posted, inc. headers */
int done = 0; /* number of requests we have done */
int doneka = 0; /* number of keep alive connections done */
+int started = 0; /* number of requests started, so no excess */
int good = 0, bad = 0; /* number of good and bad requests */
/* store error cases */
@@ -474,6 +475,8 @@
{
ap_status_t rv;
+ if(!(started < requests)) return;
+
c->read = 0;
c->bread = 0;
c->keepalive = 0;
@@ -501,10 +504,12 @@
err("\nTest aborted after 10 failures\n\n");
}
start_connect(c);
+ return;
}
}
/* connected first time */
+ started++;
write_request(c);
}
@@ -516,7 +521,7 @@
{
if (c->read == 0 && c->keepalive) {
/* server has legitimately shut down an idle keep alive request */
- good--; /* connection never happend */
+ if (good) good--; /* connection never happened */
}
else {
if (good == 1) {
@@ -848,14 +853,14 @@
static void copyright(void)
{
if (!use_html) {
- printf("This is ApacheBench, Version %s\n", AB_VERSION " <$Revision: 1.18 $> apache-2.0");
+ printf("This is ApacheBench, Version %s\n", AB_VERSION " <$Revision: 1.19 $> apache-2.0");
printf("Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/\n");
printf("Copyright (c) 1998-2000 The Apache Software Foundation, http://www.apache.org/\n");
printf("\n");
}
else {
printf("<p>\n");
- printf(" This is ApacheBench, Version %s <i><%s></i> apache-2.0<br>\n", AB_VERSION, "$Revision: 1.18 $");
+ printf(" This is ApacheBench, Version %s <i><%s></i> apache-2.0<br>\n", AB_VERSION, "$Revision: 1.19 $");
printf(" Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/<br>\n");
printf(" Copyright (c) 1998-2000 The Apache Software Foundation, http://www.apache.org/<br>\n");
printf("</p>\n<p>\n");