Index: runtime/bin/file_macos.cc |
diff --git a/runtime/bin/file_macos.cc b/runtime/bin/file_macos.cc |
index 81412f66e0c4440a4898e8bf8076cfae33fe7fcd..1b5ee0412284013032a881846c5478701cf65906 100644 |
--- a/runtime/bin/file_macos.cc |
+++ b/runtime/bin/file_macos.cc |
@@ -158,8 +158,8 @@ File* File::ScopedOpen(const char* name, FileOpenMode mode) { |
// Report errors for non-regular files. |
struct stat st; |
if (NO_RETRY_EXPECTED(stat(name, &st)) == 0) { |
- // Only accept regular files and character devices. |
- if (!S_ISREG(st.st_mode) && !S_ISCHR(st.st_mode)) { |
+ // Only accept regular files, character devices, and pipes. |
+ if (!S_ISREG(st.st_mode) && !S_ISCHR(st.st_mode) && !S_ISFIFO(st.st_mode)) { |
errno = (S_ISDIR(st.st_mode)) ? EISDIR : ENOENT; |
return NULL; |
} |