[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: co problem status report

From: Joe Orton <joe_at_manyfish.co.uk>
Date: 2001-10-25 23:17:23 CEST

I've found a regression in neon 0.17.1 which at least means the
persistent connection timeout isn't handled properly. I'm still looking
at the 207 error Daniel saw; there is an error handling bug fixed below
too, probably related.

Thanks for the traces.

Index: ne_request.c
===================================================================
RCS file: /home/joe/lib/cvsroot/neon/src/ne_request.c,v
retrieving revision 1.20
diff -u -r1.20 ne_request.c
--- ne_request.c 2001/10/07 15:16:19 1.20
+++ ne_request.c 2001/10/25 21:07:16
@@ -852,8 +852,6 @@
     char *buffer = req->respbuf->data;
 
     DEBUG_DUMP_REQUEST(request);
-
- sess->reqcount++; /* increase the counter. */
 
     /* Send the Request-Line and headers */
     NE_DEBUG(NE_DBG_HTTP, "Sending headers (#%d)\n", sess->reqcount);
@@ -862,6 +860,9 @@
     if (ret != NE_OK) {
         return ret;
     }
+
+ sess->reqcount++; /* increase the counter. */
+
     ret = sock_send_string(req->session->socket, request);
     if (ret == SOCK_CLOSED && sess->reqcount > 1) {
         /* Presume this is a persistent connection timeout. */
@@ -936,7 +937,9 @@
      * response. So loop while we get them. */
     
     do {
- if (sock_readline(sess->socket, buffer, BUFSIZ) <= 0) {
+ ret = sock_readline(sess->socket, buffer, BUFSIZ);
+
+ if (ret <= 0) {
             if (sess->reqcount > 1) {
                 return set_sockerr(req, _("Could not read status line"), ret);
             } else {
@@ -1174,6 +1177,7 @@
     ret = send_request(req);
     /* Retry this once: persistent connection failure. */
     if (ret == NE_RETRY && !req->session->no_persist) {
+ NE_DEBUG(NE_DBG_HTTP, "Persistent connection timed out, retrying.");
         ne_close_connection(req->session);
         ret = send_request(req);
     }

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:46 2006

This is an archived mail posted to the Subversion Dev mailing list.