]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imapc: Don't log unnecessary errors at deinit about aborted hiearchy separator lookup.
authorTimo Sirainen <tss@iki.fi>
Fri, 20 Sep 2013 23:55:27 +0000 (02:55 +0300)
committerTimo Sirainen <tss@iki.fi>
Fri, 20 Sep 2013 23:55:27 +0000 (02:55 +0300)
The lookup is done asynchronously at startup. It doesn't matter if we never
get around to finishing it.

src/lib-storage/index/imapc/imapc-list.c
src/lib-storage/mail-user.c
src/lib-storage/mail-user.h

index 983fd20ce43ca2e34b6de7fc2c458bdb0f11a39e..487e6335327c79b357cb28700b5ef64a96c3a68f 100644 (file)
@@ -268,7 +268,7 @@ static void imapc_storage_sep_callback(const struct imapc_command_reply *reply,
                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);
        }
index ed10fc9a9fa6877fb9809fd7dd5668e75ff8c298..52f45476c73a7ce309dfa5ff3c673988ca86e0e6 100644 (file)
@@ -156,6 +156,8 @@ void mail_user_unref(struct mail_user **_user)
                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);
index 5ac198ede02944906474da130851d1a1a15b6c75..fcc2162559dac39723164a1804860e3eaff7dab8 100644 (file)
@@ -68,6 +68,8 @@ struct mail_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 {