From: Timo Sirainen Date: Mon, 5 May 2014 15:37:16 +0000 (+0300) Subject: mkdir_parents(): Handle mkdir() EEXIST errors that may happen during race conditions. X-Git-Tag: 2.2.13.rc1~39 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d8d50edd0fddcc98582edc0301eb01e90ff0b9b5;p=thirdparty%2Fdovecot%2Fcore.git mkdir_parents(): Handle mkdir() EEXIST errors that may happen during race conditions. We don't care about EEXIST errors that happen when trying to mkdir() parent directories, only if it happens when mkdir()ing the last directory. --- diff --git a/src/lib/mkdir-parents.c b/src/lib/mkdir-parents.c index 2a4dc204f6..41997eb6ee 100644 --- a/src/lib/mkdir-parents.c +++ b/src/lib/mkdir-parents.c @@ -112,7 +112,7 @@ mkdir_parents_chown_full(const char *path, mode_t mode, uid_t uid, gid_t gid, mode, uid, gid, gid_origin); } T_END; - if (ret < 0) + if (ret < 0 && errno != EEXIST) return -1; /* should work now */