1
0
mirror of https://github.com/gilbertchen/duplicacy synced 2025-12-11 05:43:23 +00:00

Check directory existence again when failing to create it to avoid erroring out on race condition

This commit is contained in:
Gilbert Chen
2017-06-20 14:38:09 -04:00
parent 169d6db544
commit 651d82e511
4 changed files with 27 additions and 3 deletions

View File

@@ -158,7 +158,11 @@ func (storage *FileStorage) FindChunk(threadIndex int, chunkID string, isFossil
err = os.Mkdir(subDir, 0744)
if err != nil {
return "", false, 0, err
// The directory may have been created by other threads so check it again.
stat, _ := os.Stat(subDir)
if stat == nil || !stat.IsDir() {
return "", false, 0, err
}
}
dir = subDir