Mercurial > dovecot > core-2.2
changeset 22998:75d7b38afb60
director: Allow fully freeing user while waiting for IPC kick to finish
director_user_move_free() will now just free the IPC command, so this isn't
a problem anymore.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Thu, 05 Jul 2018 14:55:38 +0300 |
parents | 0a2614a38fc6 |
children | cee60b46c2f4 |
files | src/director/director.c |
diffstat | 1 files changed, 0 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/director/director.c Thu Jul 05 14:53:02 2018 +0300 +++ b/src/director/director.c Thu Jul 05 14:55:38 2018 +0300 @@ -1032,9 +1032,6 @@ if (ctx->dir->kick_callback != NULL) ctx->dir->kick_callback(ctx->dir); - - ctx->callback_pending = FALSE; - user = user_directory_lookup(ctx->tag->users, ctx->username_hash); if (!DIRECTOR_KILL_CONTEXT_IS_VALID(user, ctx)) { /* user was already freed - ignore */ @@ -1110,7 +1107,6 @@ if ((old_host != NULL && old_host != user->host) || forced_kick) { cmd = t_strdup_printf("proxy\t*\tKICK-DIRECTOR-HASH\t%u", user->username_hash); - ctx->callback_pending = TRUE; dir->users_kicking_count++; ctx->ipc_cmd = ipc_client_cmd(dir->ipc_proxy, cmd, director_kill_user_callback, ctx);