Index: runtime/bin/directory_android.cc |
diff --git a/runtime/bin/directory_android.cc b/runtime/bin/directory_android.cc |
index 0b55bb86b2059679bce8a094e596b77965ffde20..5d2464902b28456861fb878f739cf4b2f5c7f8d3 100644 |
--- a/runtime/bin/directory_android.cc |
+++ b/runtime/bin/directory_android.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; |
} |