From f0e0f694c5e0800ac75f80c0bc40f08a456c5c72 Mon Sep 17 00:00:00 2001 From: Stephan Bosch Date: Tue, 17 Oct 2017 03:19:19 +0200 Subject: [PATCH] doveadm-server: http: Fixed lingering connections after the request is sent. Turns out conn->http_client is already NULL while doveadm_http_server_connection_destroy() is called. This is because http_server_connection_unref() sets it to NULL; Fixed by removing useless HTTP connection reference. --- src/doveadm/client-connection-http.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/doveadm/client-connection-http.c b/src/doveadm/client-connection-http.c index 4d30c95d4e..369b4d9a83 100644 --- a/src/doveadm/client-connection-http.c +++ b/src/doveadm/client-connection-http.c @@ -185,7 +185,6 @@ doveadm_http_server_request_destroy(void *context) http_server_request_unref(&(conn->http_server_request)); http_server_switch_ioloop(doveadm_http_server); - http_server_connection_unref(&(conn->http_client)); } static void doveadm_http_server_json_error(void *context, const char *error) @@ -723,7 +722,6 @@ doveadm_http_server_handle_request(void *context, struct http_server_request *re conn->http_request = http_server_request_get(req); struct doveadm_http_server_mount *ep = NULL; - http_server_connection_ref(conn->http_client); http_server_request_set_destroy_callback(req, doveadm_http_server_request_destroy, conn); http_server_request_ref(conn->http_server_request);