| Index: runtime/bin/file_macos.cc
|
| diff --git a/runtime/bin/file_macos.cc b/runtime/bin/file_macos.cc
|
| index 9b7093daff51e3fe6336ad217173c90e1ee9c5e3..6ce73b1a732be225a45434d7880b1b4da29a523e 100644
|
| --- a/runtime/bin/file_macos.cc
|
| +++ b/runtime/bin/file_macos.cc
|
| @@ -105,7 +105,7 @@ off_t File::Length() {
|
| }
|
|
|
|
|
| -File* File::Open(const char* name, FileOpenMode mode) {
|
| +File* File::Open(const char* name, FileOpenMode mode, OSError* os_error) {
|
| int flags = O_RDONLY;
|
| if ((mode & kWrite) != 0) {
|
| flags = (O_RDWR | O_CREAT);
|
| @@ -115,6 +115,10 @@ File* File::Open(const char* name, FileOpenMode mode) {
|
| }
|
| int fd = TEMP_FAILURE_RETRY(open(name, flags, 0666));
|
| if (fd < 0) {
|
| + if (os_error != NULL) {
|
| + os_error->errno_ = errno;
|
| + os_error->strerror_ = strerror(errno);
|
| + }
|
| return NULL;
|
| }
|
| if (((mode & kWrite) != 0) && ((mode & kTruncate) == 0)) {
|
|
|