Pada hari Selasa, tanggal 10/01/2006 pukul 11:53 +0100, Alvaro Lopez
Ortega menulis:
> Hi Mohammad,
> 
>  >   It would be wonderful to be able to localize the last packet rather
>  >   than parsing all the buffer.. I will take a look at it.
> 
>    I have committed this change, and it seems to be working..
> 
>      http://www.0x50.org/bugs/changeset/128
> 
>    so, we don't need to parse the full buffer any longer :-)
> 

I found sometimes the write_buffer is changed somewhere so the
last_header is no longer valid. So even the pad is appended but the pad
length is not filled in paddingLength. With this patch now it will work
for "ab -c 1 -n 100". 

Using -c more than 1 or -n more than 100 is still failing, with another
cause of problem which is being investigated now.
Index: handler_fastcgi.c
===================================================================
--- handler_fastcgi.c	(revision 128)
+++ handler_fastcgi.c	(working copy)
@@ -227,17 +227,15 @@
 				     FCGI_Header **req_ref)
 {
 	FCGI_BeginRequestRecord  request;
-	int                      len;
+	int                      len, old_len;
  
 	len  = key_len + val_len;
 	len += key_len > 127 ? 4 : 1;
 	len += val_len > 127 ? 4 : 1;
 
 	fcgi_build_header (&request.header, FCGI_PARAMS, id, len, 0);
+  old_len = buf->len;
 
-	if (req_ref != NULL)
-		*req_ref = buf->buf + buf->len;
-
 	cherokee_buffer_ensure_size (buf, buf->len + key_len + val_len + sizeof(FCGI_Header));
 	cherokee_buffer_add (buf, (void *)&request.header, sizeof(FCGI_Header));
 
@@ -261,6 +259,9 @@
 
 	cherokee_buffer_add (buf, key, key_len);
 	cherokee_buffer_add (buf, val, val_len);
+
+  if (req_ref != NULL)
+		*req_ref = buf->buf + old_len;
 }
 
_______________________________________________
Cherokee mailing list
Cherokee@lists.alobbs.com
http://www.alobbs.com/cgi-bin/mailman/listinfo/cherokee

Reply via email to