Index: runtime/bin/directory_linux.cc |
diff --git a/runtime/bin/directory_linux.cc b/runtime/bin/directory_linux.cc |
index e3055b9dd6c2cc44c2d59869029cf42a2c2dea31..99dc1c6c236a8108416acd4bce024649cab0f3d5 100644 |
--- a/runtime/bin/directory_linux.cc |
+++ b/runtime/bin/directory_linux.cc |
@@ -245,7 +245,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; |
} |