| OLD | NEW |
| 1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. All rights reserved. |
| 2 // | 2 // |
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
| 5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
| 6 // | 6 // |
| 7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
| 8 // | 8 // |
| 9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 } | 77 } |
| 78 | 78 |
| 79 FileHandle LoggingOpenFileForRead(const base::FilePath& path) { | 79 FileHandle LoggingOpenFileForRead(const base::FilePath& path) { |
| 80 int fd = HANDLE_EINTR(open(path.value().c_str(), O_RDONLY)); | 80 int fd = HANDLE_EINTR(open(path.value().c_str(), O_RDONLY)); |
| 81 PLOG_IF(ERROR, fd < 0) << "open " << path.value(); | 81 PLOG_IF(ERROR, fd < 0) << "open " << path.value(); |
| 82 return fd; | 82 return fd; |
| 83 } | 83 } |
| 84 | 84 |
| 85 FileHandle LoggingOpenFileForWrite(const base::FilePath& path, | 85 FileHandle LoggingOpenFileForWrite(const base::FilePath& path, |
| 86 FileWriteMode mode, | 86 FileWriteMode mode, |
| 87 bool world_readable) { | 87 FilePermissions permissions) { |
| 88 int flags = O_WRONLY | O_CREAT; | 88 int flags = O_WRONLY | O_CREAT; |
| 89 // kReuseOrCreate does not need any additional flags. | 89 // kReuseOrCreate does not need any additional flags. |
| 90 if (mode == FileWriteMode::kTruncateOrCreate) | 90 if (mode == FileWriteMode::kTruncateOrCreate) |
| 91 flags |= O_TRUNC; | 91 flags |= O_TRUNC; |
| 92 else if (mode == FileWriteMode::kCreateOrFail) | 92 else if (mode == FileWriteMode::kCreateOrFail) |
| 93 flags |= O_EXCL; | 93 flags |= O_EXCL; |
| 94 | 94 |
| 95 int fd = HANDLE_EINTR( | 95 int fd = HANDLE_EINTR( |
| 96 open(path.value().c_str(), flags, world_readable ? 0644 : 0600)); | 96 open(path.value().c_str(), |
| 97 flags, |
| 98 permissions == FilePermissions::kWorldReadable ? 0644 : 0600)); |
| 97 PLOG_IF(ERROR, fd < 0) << "open " << path.value(); | 99 PLOG_IF(ERROR, fd < 0) << "open " << path.value(); |
| 98 return fd; | 100 return fd; |
| 99 } | 101 } |
| 100 | 102 |
| 101 FileOffset LoggingSeekFile(FileHandle file, FileOffset offset, int whence) { | 103 FileOffset LoggingSeekFile(FileHandle file, FileOffset offset, int whence) { |
| 102 off_t rv = lseek(file, offset, whence); | 104 off_t rv = lseek(file, offset, whence); |
| 103 PLOG_IF(ERROR, rv < 0) << "lseek"; | 105 PLOG_IF(ERROR, rv < 0) << "lseek"; |
| 104 return rv; | 106 return rv; |
| 105 } | 107 } |
| 106 | 108 |
| 107 bool LoggingCloseFile(FileHandle file) { | 109 bool LoggingCloseFile(FileHandle file) { |
| 108 int rv = IGNORE_EINTR(close(file)); | 110 int rv = IGNORE_EINTR(close(file)); |
| 109 PLOG_IF(ERROR, rv != 0) << "close"; | 111 PLOG_IF(ERROR, rv != 0) << "close"; |
| 110 return rv == 0; | 112 return rv == 0; |
| 111 } | 113 } |
| 112 | 114 |
| 113 } // namespace crashpad | 115 } // namespace crashpad |
| OLD | NEW |