dovecot-2.2: imapc: Don't log unnecessary errors at deinit about...

dovecot at dovecot.org dovecot at dovecot.org
Sat Sep 21 02:55:45 EEST 2013


details:   http://hg.dovecot.org/dovecot-2.2/rev/cc1ee7b50ca9
changeset: 16791:cc1ee7b50ca9
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Sep 21 02:55:27 2013 +0300
description:
imapc: Don't log unnecessary errors at deinit about aborted hiearchy separator lookup.
The lookup is done asynchronously at startup. It doesn't matter if we never
get around to finishing it.

diffstat:

 src/lib-storage/index/imapc/imapc-list.c |  2 +-
 src/lib-storage/mail-user.c              |  2 ++
 src/lib-storage/mail-user.h              |  2 ++
 3 files changed, 5 insertions(+), 1 deletions(-)

diffs (36 lines):

diff -r c30453a58b4c -r cc1ee7b50ca9 src/lib-storage/index/imapc/imapc-list.c
--- a/src/lib-storage/index/imapc/imapc-list.c	Fri Sep 20 10:45:22 2013 +0300
+++ b/src/lib-storage/index/imapc/imapc-list.c	Sat Sep 21 02:55:27 2013 +0300
@@ -268,7 +268,7 @@
 		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);
 	}
diff -r c30453a58b4c -r cc1ee7b50ca9 src/lib-storage/mail-user.c
--- a/src/lib-storage/mail-user.c	Fri Sep 20 10:45:22 2013 +0300
+++ b/src/lib-storage/mail-user.c	Sat Sep 21 02:55:27 2013 +0300
@@ -156,6 +156,8 @@
 		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);
diff -r c30453a58b4c -r cc1ee7b50ca9 src/lib-storage/mail-user.h
--- a/src/lib-storage/mail-user.h	Fri Sep 20 10:45:22 2013 +0300
+++ b/src/lib-storage/mail-user.h	Sat Sep 21 02:55:27 2013 +0300
@@ -68,6 +68,8 @@
 	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 {


More information about the dovecot-cvs mailing list