changeset 4307:f92485c7bbd7 HEAD

When checking if we want to override dotlocks, don't use the file-to-be-locked file's mtime if it's higher than current time.
author Timo Sirainen <tss@iki.fi>
date Thu, 08 Jun 2006 19:41:30 +0300
parents ce3c09a75b87
children b0c4e02d715b
files src/lib/file-dotlock.c
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib/file-dotlock.c	Thu Jun 08 19:39:28 2006 +0300
+++ b/src/lib/file-dotlock.c	Thu Jun 08 19:41:30 2006 +0300
@@ -114,8 +114,12 @@
 		time_t change_time = now;
 
 		if (change->ctime == 0) {
-			/* first check, set last_change to file's change time */
-			change_time = I_MAX(st->st_ctime, st->st_mtime);
+			/* First check, set last_change to file's change time.
+			   Use mtime instead if it's higher, but only if it's
+			   not higher than current time, because the mtime
+			   can also be used for keeping metadata. */
+			change_time = st->st_mtime > now ? st->st_ctime :
+				I_MAX(st->st_ctime, st->st_mtime);
 		}
 		if (*last_change_r < change_time)
 			*last_change_r = change_time;