From: Timo Sirainen Date: Tue, 25 Oct 2016 19:39:38 +0000 (+0300) Subject: director: Avoid assert-crash at deinit if user moves are still being added. X-Git-Tag: 2.2.26~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=995121e82bd45c39d69e6943d9fb00158c1bb253;p=thirdparty%2Fdovecot%2Fcore.git director: Avoid assert-crash at deinit if user moves are still being added. Fixes: Panic: file user-directory.c: line 312 (user_directory_deinit): assertion failed: (array_count(&dir->iters) == 0) --- diff --git a/src/director/main.c b/src/director/main.c index 713ad959a2..e02c1cd4e0 100644 --- a/src/director/main.c +++ b/src/director/main.c @@ -281,9 +281,11 @@ static void main_deinit(void) timeout_remove(&to_proctitle_refresh); if (notify_conn != NULL) notify_connection_deinit(¬ify_conn); + /* deinit doveadm connections before director, so it can clean up + its pending work, such as abort user moves. */ + doveadm_connections_deinit(); director_deinit(&director); directors_deinit(); - doveadm_connections_deinit(); login_connections_deinit(); auth_connections_deinit(); array_free(&listener_socket_types);