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);