]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
submission: Provide ephemeral pool for transaction state.
authorStephan Bosch <stephan.bosch@dovecot.fi>
Mon, 24 Sep 2018 23:53:02 +0000 (01:53 +0200)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Thu, 11 Oct 2018 11:10:35 +0000 (11:10 +0000)
src/submission/submission-client.c
src/submission/submission-client.h

index bdda207f004e5803207d9b4b9f5179c055887e6c..62258123dbf193b29d56e1e60101636da7f0e069 100644 (file)
@@ -270,6 +270,7 @@ struct client *client_create(int fd_in, int fd_out,
 static void client_state_reset(struct client *client)
 {
        i_stream_unref(&client->state.data_input);
+       pool_unref(&client->state.pool);
 
        i_zero(&client->state);
 }
@@ -317,6 +318,9 @@ client_connection_trans_start(void *context,
 {
        struct client *client = context;
 
+       client->state.pool =
+               pool_alloconly_create("submission client state", 1024);
+
        submission_backends_trans_start(client, trans);
 }
 
index a18b5d706a8d2baca847924cb0e881d89a7dd484..f6f89c960243f363b3036a9e6f30aee106a14041 100644 (file)
@@ -10,6 +10,8 @@ struct submission_backend;
 struct client;
 
 struct client_state {
+       pool_t pool;
+
        struct submission_backend *backend;
        struct istream *data_input;
        uoff_t data_size;