diff --git a/src/os/file_unix.go b/src/os/file_unix.go index 3d3a8b2056b793bd7ddf3e1d9cbf3eb0ca584693..b8c27d8826a834dd9435916dccba9861b9c5e812 100644 --- a/src/os/file_unix.go +++ b/src/os/file_unix.go @@ -106,7 +106,11 @@ func NewFile(fd uintptr, name string) *File { if nb, err := unix.IsNonblock(int(fd)); err == nil && nb { kind = kindNonBlock } - return newFile(fd, name, kind) + f := newFile(fd, name, kind) + if flags, err := unix.Fcntl(int(fd), syscall.F_GETFL, 0); err == nil { + f.appendMode = flags&syscall.O_APPEND != 0 + } + return f } // newFileKind describes the kind of file to newFile.