The lookup is done asynchronously at startup. It doesn't matter if we never
get around to finishing it.
imapc_list_sep_verify(list);
else if (reply->state == IMAPC_COMMAND_STATE_NO)
imapc_list_copy_error_from_reply(list, MAIL_ERROR_PARAMS, reply);
- else {
+ else if (!list->list.ns->user->deinitializing) {
mailbox_list_set_critical(&list->list,
"imapc: Command failed: %s", reply->text_full);
}
return;
}
+ user->deinitializing = TRUE;
+
/* call deinit() with refcount=1, otherwise we may assert-crash in
mail_user_ref() that is called by some deinit() handler. */
user->v.deinit(user);
unsigned int dsyncing:1;
/* Failed to create attribute dict, don't try again */
unsigned int attr_dict_failed:1;
+ /* We're deinitializing the user */
+ unsigned int deinitializing:1;
};
struct mail_user_module_register {