dovecot-2.2: lib: file_create_locked() lock method is now config...
dovecot at dovecot.org
dovecot at dovecot.org
Sun May 24 17:26:36 UTC 2015
details: http://hg.dovecot.org/dovecot-2.2/rev/57f8c2a6209b
changeset: 18744:57f8c2a6209b
user: Timo Sirainen <tss at iki.fi>
date: Sun May 24 13:24:19 2015 -0400
description:
lib: file_create_locked() lock method is now configurable
diffstat:
src/lib/file-create-locked.c | 5 ++---
src/lib/file-create-locked.h | 3 ++-
2 files changed, 4 insertions(+), 4 deletions(-)
diffs (40 lines):
diff -r 1d088dc567bd -r 57f8c2a6209b src/lib/file-create-locked.c
--- a/src/lib/file-create-locked.c Sun May 24 13:22:56 2015 -0400
+++ b/src/lib/file-create-locked.c Sun May 24 13:24:19 2015 -0400
@@ -24,7 +24,7 @@
*error_r = t_strdup_printf("fstat(%s) failed: %m", path);
return -1;
}
- if (file_wait_lock_error(fd, path, F_WRLCK, FILE_LOCK_METHOD_FCNTL,
+ if (file_wait_lock_error(fd, path, F_WRLCK, set->lock_method,
set->lock_timeout_secs, lock_r, error_r) <= 0)
return -1;
if (stat(path, &st2) == 0) {
@@ -63,8 +63,7 @@
return -1;
}
if (file_try_lock_error(fd, str_c(temp_path), F_WRLCK,
- FILE_LOCK_METHOD_FCNTL,
- lock_r, error_r) <= 0) {
+ set->lock_method, lock_r, error_r) <= 0) {
} else if (link(str_c(temp_path), path) < 0) {
if (errno == EEXIST) {
/* just created by somebody else */
diff -r 1d088dc567bd -r 57f8c2a6209b src/lib/file-create-locked.h
--- a/src/lib/file-create-locked.h Sun May 24 13:22:56 2015 -0400
+++ b/src/lib/file-create-locked.h Sun May 24 13:24:19 2015 -0400
@@ -1,12 +1,13 @@
#ifndef FILE_CREATE_LOCKED_H
#define FILE_CREATE_LOCKED_H
-struct file_lock;
+#include "file-lock.h"
struct file_create_settings {
/* 0 = try locking without waiting */
unsigned int lock_timeout_secs;
+ enum file_lock_method lock_method;
/* 0 = 0600 */
int mode;
/* 0 = default */
More information about the dovecot-cvs
mailing list