end_offset = file->sync_offset;
}
- if (file->locked)
- file->locked_sync_offset_updated = TRUE;
-
if (file->buffer != NULL && file->buffer_offset <= start_offset) {
/* see if we already have it */
size = buffer_get_used_size(file->buffer);
return 1;
}
+ if (file->locked) {
+ /* set this only when we've synced to end of file while locked
+ (either end_offset=(uoff_t)-1 or we had to read anyway) */
+ file->locked_sync_offset_updated = TRUE;
+ }
+
if (MAIL_TRANSACTION_LOG_FILE_IN_MEMORY(file)) {
if (start_offset < file->buffer_offset) {
/* we had moved the log to memory but failed to read