Index: third_party/leveldatabase/env_chromium.cc |
diff --git a/third_party/leveldatabase/env_chromium.cc b/third_party/leveldatabase/env_chromium.cc |
index 4d296fa6d9c8297df5348236d68dd958a5f62cb6..ac463acd55acabd6f7a59f03a7cfdd15eddbfce6 100644 |
--- a/third_party/leveldatabase/env_chromium.cc |
+++ b/third_party/leveldatabase/env_chromium.cc |
@@ -597,10 +597,15 @@ Status ChromiumEnv::DeleteFile(const std::string& fname) { |
Status ChromiumEnv::CreateDir(const std::string& name) { |
Status result; |
- if (!::file_util::CreateDirectory(CreateFilePath(name))) { |
- result = MakeIOError(name, "Could not create directory.", kCreateDir); |
- RecordErrorAt(kCreateDir); |
- } |
+ base::PlatformFileError error = base::PLATFORM_FILE_OK; |
+ Retrier retrier(kCreateDir, this); |
+ do { |
+ if (::file_util::CreateDirectoryAndGetError(CreateFilePath(name), &error)) { |
+ return result; |
+ } |
jar (doing other things)
2013/06/07 23:32:49
nit: No need for curlies around this one line resu
dgrogan
2013/06/07 23:35:50
Done.
|
+ } while (retrier.ShouldKeepTrying(error)); |
+ result = MakeIOError(name, "Could not create directory.", kCreateDir); |
+ RecordErrorAt(kCreateDir); |
return result; |
} |