[dovecot-cvs] dovecot/src/lib-index mail-index-open.c,1.37,1.38 mail-index.h,1.80,1.81

cras at procontrol.fi cras at procontrol.fi
Sun Jun 15 07:42:31 EEST 2003


Update of /home/cvs/dovecot/src/lib-index
In directory danu:/tmp/cvs-serv23333/lib-index

Modified Files:
	mail-index-open.c mail-index.h 
Log Message:
Only NOOP and CHECK will now always do a real mailbox sync. Other commands
will also do it but no often than once in 5 seconds. Also with maildir we
don't anymore try to sync it before running commands since syncing is now
done automatically whenever we try to access a file that doesn't exist.



Index: mail-index-open.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/mail-index-open.c,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- mail-index-open.c	15 Jun 2003 02:20:52 -0000	1.37
+++ mail-index-open.c	15 Jun 2003 03:42:28 -0000	1.38
@@ -136,7 +136,8 @@
 	if (!rebuilt) {
 		/* sync ourself. do it before updating cache and compression
 		   which may happen because of this. */
-		if (!index->sync_and_lock(index, MAIL_LOCK_SHARED, NULL) &&
+		if (!index->sync_and_lock(index, FALSE,
+					  MAIL_LOCK_SHARED, NULL) &&
 		    !index->nodiskspace)
 			return FALSE;
 

Index: mail-index.h
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/mail-index.h,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -d -r1.80 -r1.81
--- mail-index.h	15 Jun 2003 02:20:52 -0000	1.80
+++ mail-index.h	15 Jun 2003 03:42:28 -0000	1.81
@@ -247,8 +247,10 @@
 	   lock when calling this function. The data_lock_type specifies what
 	   lock should be set to data file (mbox file). This function may
 	   leave the index in ANY locking state. If changes is non-NULL, it's
-	   set to TRUE if any changes were noticed. */
-	int (*sync_and_lock)(struct mail_index *index,
+	   set to TRUE if any changes were noticed. If minimal_sync is TRUE,
+	   we do as little as possible to get data file locked (ie. noop with
+	   maildir). */
+	int (*sync_and_lock)(struct mail_index *index, int minimal_sync,
 			     enum mail_lock_type data_lock_type, int *changes);
 
 	/* Returns the index header (never fails). The index needs to be



More information about the dovecot-cvs mailing list