From: Timo Sirainen Date: Mon, 21 Feb 2022 16:07:36 +0000 (+0100) Subject: anvil: Move prev_pid to struct anvil_cmd_kick X-Git-Tag: 2.4.0~4348 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9e9a4cc5be8e044ebb2d014bff4f598023c253b4;p=thirdparty%2Fdovecot%2Fcore.git anvil: Move prev_pid to struct anvil_cmd_kick --- diff --git a/src/anvil/anvil-connection.c b/src/anvil/anvil-connection.c index f97c91322a..31f6cc1cc7 100644 --- a/src/anvil/anvil-connection.c +++ b/src/anvil/anvil-connection.c @@ -70,6 +70,7 @@ struct anvil_cmd_kick { struct anvil_connection *conn; struct connect_limit_iter *iter; + pid_t prev_pid; int cmd_refcount; unsigned int kick_count; }; @@ -249,11 +250,11 @@ kick_user_iter(struct anvil_connection *conn, struct connect_limit_iter *iter, struct anvil_cmd_kick *kick; struct connect_limit_iter_result result; string_t *cmd = t_str_new(128); - pid_t prev_pid = (pid_t)-1; kick = i_new(struct anvil_cmd_kick, 1); kick->conn = conn; kick->iter = iter; + kick->prev_pid = (pid_t)-1; conn->refcount++; while (connect_limit_iter_next(iter, &result)) { @@ -261,7 +262,7 @@ kick_user_iter(struct anvil_connection *conn, struct connect_limit_iter *iter, case KICK_TYPE_NONE: break; case KICK_TYPE_SIGNAL: - if (prev_pid == result.pid) { + if (kick->prev_pid == result.pid) { /* Already killed this pid. Note that the results are sorted by pid and kick_type is the same for all sessions within the @@ -310,7 +311,7 @@ kick_user_iter(struct anvil_connection *conn, struct connect_limit_iter *iter, } break; } - prev_pid = result.pid; + kick->prev_pid = result.pid; } connect_limit_iter_deinit(&iter); if (kick->cmd_refcount == 0)