From: Stephan Bosch Date: Mon, 24 Sep 2018 23:53:02 +0000 (+0200) Subject: submission: Provide ephemeral pool for transaction state. X-Git-Tag: 2.3.9~1235 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0381d1082cce486cca25eecee9f737360fb93655;p=thirdparty%2Fdovecot%2Fcore.git submission: Provide ephemeral pool for transaction state. --- diff --git a/src/submission/submission-client.c b/src/submission/submission-client.c index bdda207f00..62258123db 100644 --- a/src/submission/submission-client.c +++ b/src/submission/submission-client.c @@ -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); } diff --git a/src/submission/submission-client.h b/src/submission/submission-client.h index a18b5d706a..f6f89c9602 100644 --- a/src/submission/submission-client.h +++ b/src/submission/submission-client.h @@ -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;