dovecot-2.1: mailbox list indexes: Avoid unnecessary refresh fla...
dovecot at dovecot.org
dovecot at dovecot.org
Tue Feb 28 06:53:21 EET 2012
details: http://hg.dovecot.org/dovecot-2.1/rev/ba2b4f8a1bb1
changeset: 14207:ba2b4f8a1bb1
user: Timo Sirainen <tss at iki.fi>
date: Tue Feb 28 06:52:43 2012 +0200
description:
mailbox list indexes: Avoid unnecessary refresh flag writes.
diffstat:
src/lib-storage/list/mailbox-list-index-status.c | 2 ++
src/lib-storage/list/mailbox-list-index-sync.c | 2 +-
src/lib-storage/list/mailbox-list-index.c | 5 ++---
src/lib-storage/list/mailbox-list-index.h | 2 ++
4 files changed, 7 insertions(+), 4 deletions(-)
diffs (51 lines):
diff -r 54aeb3853bae -r ba2b4f8a1bb1 src/lib-storage/list/mailbox-list-index-status.c
--- a/src/lib-storage/list/mailbox-list-index-status.c Tue Feb 28 05:14:00 2012 +0200
+++ b/src/lib-storage/list/mailbox-list-index-status.c Tue Feb 28 06:52:43 2012 +0200
@@ -289,6 +289,8 @@
struct mailbox_status status;
uint32_t seq, seq1, seq2;
+ (void)mailbox_list_index_refresh(box->list);
+
node = mailbox_list_index_lookup(box->list, box->name);
if (node == NULL) {
mailbox_list_index_refresh_later(box->list);
diff -r 54aeb3853bae -r ba2b4f8a1bb1 src/lib-storage/list/mailbox-list-index-sync.c
--- a/src/lib-storage/list/mailbox-list-index-sync.c Tue Feb 28 05:14:00 2012 +0200
+++ b/src/lib-storage/list/mailbox-list-index-sync.c Tue Feb 28 06:52:43 2012 +0200
@@ -301,7 +301,7 @@
T_BEGIN {
mailbox_list_index_sync_names(&sync_ctx);
} T_END;
- } else {
+ } else if (mailbox_list_index_need_refresh(ilist, sync_ctx.view)) {
/* we're synced, reset refresh flag */
struct mailbox_list_index_header new_hdr;
diff -r 54aeb3853bae -r ba2b4f8a1bb1 src/lib-storage/list/mailbox-list-index.c
--- a/src/lib-storage/list/mailbox-list-index.c Tue Feb 28 05:14:00 2012 +0200
+++ b/src/lib-storage/list/mailbox-list-index.c Tue Feb 28 06:52:43 2012 +0200
@@ -197,9 +197,8 @@
return 0;
}
-static bool
-mailbox_list_index_need_refresh(struct mailbox_list_index *ilist,
- struct mail_index_view *view)
+bool mailbox_list_index_need_refresh(struct mailbox_list_index *ilist,
+ struct mail_index_view *view)
{
const struct mailbox_list_index_header *hdr;
const void *data;
diff -r 54aeb3853bae -r ba2b4f8a1bb1 src/lib-storage/list/mailbox-list-index.h
--- a/src/lib-storage/list/mailbox-list-index.h Tue Feb 28 05:14:00 2012 +0200
+++ b/src/lib-storage/list/mailbox-list-index.h Tue Feb 28 06:52:43 2012 +0200
@@ -124,6 +124,8 @@
struct mailbox_list_index_node *
mailbox_list_index_lookup(struct mailbox_list *list, const char *name);
+bool mailbox_list_index_need_refresh(struct mailbox_list_index *ilist,
+ struct mail_index_view *view);
int mailbox_list_index_refresh(struct mailbox_list *list);
void mailbox_list_index_refresh_later(struct mailbox_list *list);
More information about the dovecot-cvs
mailing list