[dovecot-cvs] dovecot/src/lib-index/maildir maildir-index.h,1.9,1.10 maildir-sync.c,1.15,1.16
cras at procontrol.fi
cras at procontrol.fi
Sat Nov 2 22:10:23 EET 2002
- Previous message: [dovecot-cvs] dovecot/src/lib-index mail-index-update.c,1.30,1.31
- Next message: [dovecot-cvs] dovecot/src/lib-index mail-index-open.c,1.12,1.13 mail-index-update-cache.c,1.9,1.10 mail-index.c,1.66,1.67 mail-index.h,1.48,1.49 mail-tree.c,1.8,1.9
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /home/cvs/dovecot/src/lib-index/maildir
In directory danu:/tmp/cvs-serv8907/lib-index/maildir
Modified Files:
maildir-index.h maildir-sync.c
Log Message:
Mostly mbox locking/syncing fixes. Still some problems though.
Index: maildir-index.h
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/maildir/maildir-index.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- maildir-index.h 27 Oct 2002 06:37:18 -0000 1.9
+++ maildir-index.h 2 Nov 2002 20:10:20 -0000 1.10
@@ -13,7 +13,7 @@
const char *maildir_filename_set_flags(const char *fname, MailFlags flags);
int maildir_index_rebuild(MailIndex *index);
-int maildir_index_sync(MailIndex *index);
+int maildir_index_sync(MailIndex *index, MailLockType lock_type, int *changes);
int maildir_index_append_file(MailIndex *index, const char *dir,
const char *fname);
Index: maildir-sync.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/maildir/maildir-sync.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- maildir-sync.c 27 Oct 2002 06:37:18 -0000 1.15
+++ maildir-sync.c 2 Nov 2002 20:10:20 -0000 1.16
@@ -249,7 +249,7 @@
return !failed;
}
-int maildir_index_sync(MailIndex *index)
+int maildir_index_sync(MailIndex *index, MailLockType lock_type, int *changes)
{
struct stat sti, std;
struct utimbuf ut;
@@ -258,6 +258,9 @@
i_assert(index->lock_type != MAIL_LOCK_SHARED);
+ if (changes != NULL)
+ *changes = FALSE;
+
if (index->fd == -1) {
/* anon-mmaped */
index_mtime = index->file_sync_stamp;
@@ -275,6 +278,7 @@
return index_file_set_syscall_error(index, cur_dir, "stat()");
if (std.st_mtime != index_mtime) {
+ if (changes != NULL) *changes = TRUE;
if (!maildir_index_sync_dir(index, cur_dir))
return FALSE;
}
@@ -285,6 +289,8 @@
return index_file_set_syscall_error(index, new_dir, "stat()");
if (std.st_mtime != index_mtime) {
+ if (changes != NULL) *changes = TRUE;
+
if (!maildir_index_build_dir(index, new_dir, cur_dir))
return FALSE;
@@ -324,5 +330,5 @@
return index_set_syscall_error(index, "utime()");
}
- return TRUE;
+ return index->set_lock(index, lock_type);
}
- Previous message: [dovecot-cvs] dovecot/src/lib-index mail-index-update.c,1.30,1.31
- Next message: [dovecot-cvs] dovecot/src/lib-index mail-index-open.c,1.12,1.13 mail-index-update-cache.c,1.9,1.10 mail-index.c,1.66,1.67 mail-index.h,1.48,1.49 mail-tree.c,1.8,1.9
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the dovecot-cvs
mailing list