dovecot-2.2: lib-http: Call request's destroy callback always, n...

dovecot at dovecot.org dovecot at dovecot.org
Thu Jun 27 20:28:59 EEST 2013


details:   http://hg.dovecot.org/dovecot-2.2/rev/eb63569f0f73
changeset: 16570:eb63569f0f73
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Jun 27 20:28:51 2013 +0300
description:
lib-http: Call request's destroy callback always, not just on success.

diffstat:

 src/lib-http/http-client-request.c |  8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diffs (25 lines):

diff -r 3fdfbabf3dcf -r eb63569f0f73 src/lib-http/http-client-request.c
--- a/src/lib-http/http-client-request.c	Thu Jun 27 20:27:57 2013 +0300
+++ b/src/lib-http/http-client-request.c	Thu Jun 27 20:28:51 2013 +0300
@@ -92,6 +92,11 @@
 	if (--req->refcount > 0)
 		return;
 
+	if (req->destroy_callback != NULL) {
+		req->destroy_callback(req->destroy_context);
+		req->destroy_callback = NULL;
+	}
+
 	/* only decrease pending request counter if this request was submitted */
 	if (req->state > HTTP_REQUEST_STATE_NEW)
 		req->client->pending_requests--;
@@ -541,9 +546,6 @@
 	req->callback = NULL;
 	req->state = HTTP_REQUEST_STATE_FINISHED;
 
-	if (req->destroy_callback != NULL)
-		req->destroy_callback(req->destroy_context);
-
 	if (req->payload_wait && req->client->ioloop != NULL)
 		io_loop_stop(req->client->ioloop);
 	http_client_request_unref(_req);


More information about the dovecot-cvs mailing list