Mercurial > dovecot > core-2.2
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;