| Index: util/file/file_io_posix.cc
|
| diff --git a/util/file/file_io_posix.cc b/util/file/file_io_posix.cc
|
| index ff32009021679f3690e9a7eb65c402dfc2e5f6d1..ce88bf5c60d9bc94b9b16f3a422210f26da39cf4 100644
|
| --- a/util/file/file_io_posix.cc
|
| +++ b/util/file/file_io_posix.cc
|
| @@ -14,8 +14,10 @@
|
|
|
| #include "util/file/file_io.h"
|
|
|
| +#include <fcntl.h>
|
| #include <unistd.h>
|
|
|
| +#include "base/files/file_path.h"
|
| #include "base/logging.h"
|
| #include "base/numerics/safe_conversions.h"
|
| #include "base/posix/eintr_wrapper.h"
|
| @@ -74,6 +76,19 @@ ssize_t WriteFile(FileHandle file, const void* buffer, size_t size) {
|
| return ReadOrWrite<WriteTraits>(file, buffer, size);
|
| }
|
|
|
| +FileHandle LoggingOpenFileForWrite(const base::FilePath& path, uint32_t mode) {
|
| + int fd = HANDLE_EINTR(
|
| + open(path.value().c_str(), O_WRONLY | O_CREAT | O_TRUNC, mode));
|
| + PLOG_IF(ERROR, fd < 0) << "open " << path.value();
|
| + return fd;
|
| +}
|
| +
|
| +FileHandle LoggingOpenFileForRead(const base::FilePath& path) {
|
| + int fd = HANDLE_EINTR(open(path.value().c_str(), O_RDONLY));
|
| + PLOG_IF(ERROR, fd < 0) << "open " << path.value();
|
| + return fd;
|
| +}
|
| +
|
| bool LoggingCloseFile(FileHandle file) {
|
| int rv = IGNORE_EINTR(close(file));
|
| PLOG_IF(ERROR, rv != 0) << "close";
|
|
|