]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm-server: http: Fixed lingering connections after the request is sent.
authorStephan Bosch <stephan.bosch@dovecot.fi>
Tue, 17 Oct 2017 01:19:19 +0000 (03:19 +0200)
committerAki Tuomi <aki.tuomi@dovecot.fi>
Tue, 17 Oct 2017 07:16:23 +0000 (10:16 +0300)
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

index 9dbbb5b972fd7a7b94ff30481031da8efe7f1d01..52089a8970f8fcebf6e9b51e80beb3ac51af9110 100644 (file)
@@ -184,7 +184,6 @@ doveadm_http_server_request_destroy(struct client_connection_http *conn)
 
        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)
@@ -714,7 +713,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);