From: Timo Sirainen Date: Mon, 6 Oct 2014 18:15:31 +0000 (+0300) Subject: sdbox: Fixed race condition when two processes mkdir() the same directory X-Git-Tag: 2.2.14~54 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a4828c444096564c9f6759fa71b2de21cda73164;p=thirdparty%2Fdovecot%2Fcore.git sdbox: Fixed race condition when two processes mkdir() the same directory --- diff --git a/src/lib-storage/index/dbox-single/sdbox-file.c b/src/lib-storage/index/dbox-single/sdbox-file.c index 2862aabd45..744cf7214a 100644 --- a/src/lib-storage/index/dbox-single/sdbox-file.c +++ b/src/lib-storage/index/dbox-single/sdbox-file.c @@ -255,7 +255,8 @@ int sdbox_file_create_fd(struct dbox_file *file, const char *path, bool parents) dir = t_strdup_until(path, p); if (mkdir_parents_chgrp(dir, perm->dir_create_mode, perm->file_create_gid, - perm->file_create_gid_origin) < 0) { + perm->file_create_gid_origin) < 0 && + errno != EEXIST) { mail_storage_set_critical(box->storage, "mkdir_parents(%s) failed: %m", dir); return -1;