Index: runtime/bin/directory_macos.cc |
diff --git a/runtime/bin/directory_macos.cc b/runtime/bin/directory_macos.cc |
index 81206584f7704e94e31d00129acfdac624f0ab79..55994aa79abdd26998d52d5f3a4de0f706bd918a 100644 |
--- a/runtime/bin/directory_macos.cc |
+++ b/runtime/bin/directory_macos.cc |
@@ -244,7 +244,10 @@ static bool DeleteRecursively(PathBuffer* path) { |
// Not a link. Attempt to open as a directory and recurse into the |
// directory. |
- DIR* dir_pointer = opendir(path->AsString()); |
+ DIR* dir_pointer; |
+ do { |
+ dir_pointer = opendir(path->AsString()); |
+ } while (dir_pointer == NULL && errno == EINTR); |
if (dir_pointer == NULL) { |
return false; |
} |