Index: base/platform_file_posix.cc |
diff --git a/base/platform_file_posix.cc b/base/platform_file_posix.cc |
index beae804c629c86a6b8fa4ef716f601552d9a114e..b7c7396bf6e3607b34097dbb376dbdfc2c9d98cc 100644 |
--- a/base/platform_file_posix.cc |
+++ b/base/platform_file_posix.cc |
@@ -88,6 +88,11 @@ PlatformFile CreatePlatformFileUnsafe(const FilePath& name, |
if (flags & PLATFORM_FILE_TERMINAL_DEVICE) |
open_flags |= O_NOCTTY | O_NDELAY; |
+ if (flags & PLATFORM_FILE_APPEND && flags & PLATFORM_FILE_READ) |
+ open_flags |= O_APPEND | O_RDWR; |
+ else if (flags & PLATFORM_FILE_APPEND) |
+ open_flags |= O_APPEND | O_WRONLY; |
+ |
COMPILE_ASSERT(O_RDONLY == 0, O_RDONLY_must_equal_zero); |
int mode = S_IRUSR | S_IWUSR; |