Merge branch 'jh/loose-object-dirs-creation-race' into maint
Two processes creating loose objects at the same time could have failed unnecessarily when the name of their new objects started with the same byte value, due to a race condition. * jh/loose-object-dirs-creation-race: sha1_file.c:create_tmpfile(): Fix race when creating loose object dirs
This commit is contained in:
commit
a5d56530e0
@ -2860,7 +2860,9 @@ static int create_tmpfile(char *buffer, size_t bufsiz, const char *filename)
|
||||
/* Make sure the directory exists */
|
||||
memcpy(buffer, filename, dirlen);
|
||||
buffer[dirlen-1] = 0;
|
||||
if (mkdir(buffer, 0777) || adjust_shared_perm(buffer))
|
||||
if (mkdir(buffer, 0777) && errno != EEXIST)
|
||||
return -1;
|
||||
if (adjust_shared_perm(buffer))
|
||||
return -1;
|
||||
|
||||
/* Try again */
|
||||
|
Loading…
Reference in New Issue
Block a user