Index: runtime/bin/directory_linux.cc |
diff --git a/runtime/bin/directory_linux.cc b/runtime/bin/directory_linux.cc |
index 7adb80f9156ab2d308131aee2181243b35b85a27..59977a3886dd54334f2e220fb5cc12a5d487afb8 100644 |
--- a/runtime/bin/directory_linux.cc |
+++ b/runtime/bin/directory_linux.cc |
@@ -381,6 +381,9 @@ char* Directory::Current() { |
bool Directory::Create(const char* dir_name) { |
+ // If the directory already exists and is a directory do not |
+ // attempt to create it again and treat it as a success. |
+ if (Exists(dir_name) == EXISTS) return true; |
// Create the directory with the permissions specified by the |
// process umask. |
return (TEMP_FAILURE_RETRY(mkdir(dir_name, 0777)) == 0); |