[evolution-patches] Re: possible fix for the soup connection_death loop



On Thu, 2003-05-08 at 12:16, Joe Shaw wrote:
> I can poke at the HTTP-proxy-tunnelling stuff after lunch... I think if
> we can fix that it's good to go in.

This patch seems to fix it for me; the connection gets freed because
soup_message_cleanup() gets called during a requeue, and the connection
is shared (ugh) between the CONNECT and GET requests.  We just set the
connection to NULL if the CONNECT fails so we don't reap it twice.

Joe
Index: soup-queue.c
===================================================================
RCS file: /cvs/gnome/libsoup/libsoup/soup-queue.c,v
retrieving revision 1.80
diff -u -p -u -r1.80 soup-queue.c
--- soup-queue.c	25 Apr 2003 17:34:08 -0000	1.80
+++ soup-queue.c	8 May 2003 18:08:35 -0000
@@ -603,6 +608,13 @@ proxy_connect (SoupContext *ctx, SoupMes
 				SOUP_ERROR_CANT_CONNECT_PROXY,
 				"Unable to create secure data "
 				"tunnel through proxy");
+
+			/*
+			 * If the tunnelling failed, our connection will
+			 * have been freed by the requeue in
+			 * proxy_https_connect()
+			 */
+			req->connection = NULL;
 
 			soup_message_issue_callback (req);
 			return TRUE;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]