You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Victor J. Orlikowski" <v....@gte.net> on 2000/07/12 18:04:14 UTC

[PATCH] ab breakages...

ab would start up more connections than needed, then quit when the desired
number were finished. This takes care of that, plus a logic error
involving keepalives.


Index: src/support/ab.c
===================================================================
RCS file: /cvs/apache/apache-2.0/src/support/ab.c,v
retrieving revision 1.18
diff -u -r1.18 ab.c
--- ab.c	2000/06/12 23:03:04	1.18
+++ ab.c	2000/07/12 15:45:13
@@ -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) {

-- 
Victor J. Orlikowski            v.j.orlikowski@gte.net
                                vjo@raleigh.ibm.com
                                vjo@us.ibm.com