dovecot-2.2: lib-http: client: Clear req->conn when request is f...

dovecot at dovecot.org dovecot at dovecot.org
Thu Oct 23 02:56:51 UTC 2014


details:   http://hg.dovecot.org/dovecot-2.2/rev/bce536c20d32
changeset: 17984:bce536c20d32
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Thu Oct 23 05:55:51 2014 +0300
description:
lib-http: client: Clear req->conn when request is finished.
This prevents a spurious assert failure.

diffstat:

 src/lib-http/http-client-connection.c |  3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diffs (27 lines):

diff -r 575dcd85b4be -r bce536c20d32 src/lib-http/http-client-connection.c
--- a/src/lib-http/http-client-connection.c	Thu Oct 23 05:04:37 2014 +0300
+++ b/src/lib-http/http-client-connection.c	Thu Oct 23 05:55:51 2014 +0300
@@ -438,6 +438,7 @@
 	   the payload. make sure here that it's switched back. */
 	net_set_nonblock(conn->conn.fd_in, TRUE);
 
+	req->conn = NULL;
 	conn->incoming_payload = NULL;
 	conn->pending_request = NULL;
 	http_client_request_finish(&req);
@@ -495,6 +496,7 @@
 	retrying = !http_client_request_callback(req, response);
 	http_client_connection_unref(&conn);
 	if (conn == NULL) {
+		req->conn = NULL;
 		/* the callback managed to get this connection destroyed */
 		if (!retrying)
 			http_client_request_finish(&req);
@@ -531,6 +533,7 @@
 			http_client_payload_finished(conn);
 		}
 	} else {
+		req->conn = NULL;
 		http_client_request_finish(&req);
 		http_client_request_unref(&req);
 	}


More information about the dovecot-cvs mailing list