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 |