[dovecot-cvs]
dovecot/src/lib-index/maildir maildir-expunge.c,1.1,1.2
maildir-update-flags.c,1.2,1.3
cras at procontrol.fi
cras at procontrol.fi
Thu May 29 18:16:00 EEST 2003
Update of /home/cvs/dovecot/src/lib-index/maildir
In directory danu:/tmp/cvs-serv20994
Modified Files:
maildir-expunge.c maildir-update-flags.c
Log Message:
flag updates and expunge now set the cur/ dirty-synced to avoid extra sync
after them.
Index: maildir-expunge.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/maildir/maildir-expunge.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- maildir-expunge.c 18 May 2003 12:26:06 -0000 1.1
+++ maildir-expunge.c 29 May 2003 14:15:57 -0000 1.2
@@ -1,6 +1,7 @@
/* Copyright (C) 2002 Timo Sirainen */
#include "lib.h"
+#include "ioloop.h"
#include "maildir-index.h"
#include "mail-index-util.h"
@@ -54,7 +55,7 @@
for (i = 0;; i++) {
ret = maildir_expunge_mail_file(index, rec, &fname);
if (ret > 0)
- return TRUE;
+ break;
if (ret < 0)
return FALSE;
@@ -72,4 +73,9 @@
return TRUE;
}
}
+
+ /* cur/ was updated, set it dirty-synced */
+ index->maildir_cur_dirty = ioloop_time;
+ index->file_sync_stamp = ioloop_time;
+ return TRUE;
}
Index: maildir-update-flags.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/maildir/maildir-update-flags.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- maildir-update-flags.c 18 May 2003 12:56:15 -0000 1.2
+++ maildir-update-flags.c 29 May 2003 14:15:57 -0000 1.3
@@ -1,6 +1,7 @@
/* Copyright (C) 2002 Timo Sirainen */
#include "lib.h"
+#include "ioloop.h"
#include "maildir-index.h"
#include "mail-index-util.h"
@@ -83,11 +84,21 @@
if (ret == -1)
return FALSE;
- if (ret == 1 && index->maildir_keep_new) {
- /* looks like we have some more space again,
- see if we could move mails from new/ to
- cur/ again */
- index->maildir_keep_new = FALSE;
+ if (ret == 1) {
+ if (index->maildir_keep_new &&
+ (rec->index_flags &
+ INDEX_MAIL_FLAG_MAILDIR_NEW) != 0) {
+ /* looks like we have some more space
+ again, see if we could move mails
+ from new/ to cur/ again */
+ index->maildir_keep_new = FALSE;
+ rec->index_flags &=
+ ~INDEX_MAIL_FLAG_MAILDIR_NEW;
+ }
+
+ /* cur/ was updated, set it dirty-synced */
+ index->file_sync_stamp = ioloop_time;
+ index->maildir_cur_dirty = ioloop_time;
}
}
More information about the dovecot-cvs
mailing list