| Index: base/memory/shared_memory_posix.cc
|
| diff --git a/base/memory/shared_memory_posix.cc b/base/memory/shared_memory_posix.cc
|
| index d6c290fa01617581afbaac2a442f7cadc92464a0..2dc08a14ca24ec2c441173b639dd2b5030264389 100644
|
| --- a/base/memory/shared_memory_posix.cc
|
| +++ b/base/memory/shared_memory_posix.cc
|
| @@ -15,6 +15,7 @@
|
| #include "base/files/scoped_file.h"
|
| #include "base/lazy_instance.h"
|
| #include "base/logging.h"
|
| +#include "base/posix/eintr_wrapper.h"
|
| #include "base/process/process_metrics.h"
|
| #include "base/profiler/scoped_tracker.h"
|
| #include "base/safe_strerror_posix.h"
|
| @@ -402,7 +403,7 @@ bool SharedMemory::PrepareMapFile(ScopedFILE fp, ScopedFD readonly_fd) {
|
| }
|
| }
|
|
|
| - mapped_file_ = dup(fileno(fp.get()));
|
| + mapped_file_ = HANDLE_EINTR(dup(fileno(fp.get())));
|
| if (mapped_file_ == -1) {
|
| if (errno == EMFILE) {
|
| LOG(WARNING) << "Shared memory creation failed; out of file descriptors";
|
| @@ -481,7 +482,7 @@ bool SharedMemory::ShareToProcessCommon(ProcessHandle process,
|
| break;
|
| }
|
|
|
| - const int new_fd = dup(handle_to_dup);
|
| + const int new_fd = HANDLE_EINTR(dup(handle_to_dup));
|
| if (new_fd < 0) {
|
| DPLOG(ERROR) << "dup() failed.";
|
| return false;
|
|
|