Mercurial > dovecot > core-2.2
changeset 22434:339d2a356620
lib: file_create_locked() - Treat mkdir() EEXIST error as success
This can happen in race conditions when multiple processes are mkdir()ing
the same directory. It shouldn't result in failure.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Thu, 06 Jul 2017 13:24:31 +0300 |
parents | 47389f0e1827 |
children | 8020b3f6a4f8 |
files | src/lib/file-create-locked.c |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/file-create-locked.c Wed Jul 26 19:47:16 2017 +0300 +++ b/src/lib/file-create-locked.c Thu Jul 06 13:24:31 2017 +0300 @@ -66,7 +66,7 @@ ret = mkdir_parents_chgrp(dir, set->mkdir_mode, gid, set->gid_origin); } - if (ret < 0) { + if (ret < 0 && errno != EEXIST) { *error_r = t_strdup_printf("mkdir_parents(%s) failed: %m", dir); return -1; }