fd_fsync_posix.mx raw
1 // Copyright 2018 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 //go:build aix || dragonfly || freebsd || (js && wasm) || linux || netbsd || openbsd || solaris || wasip1
6
7 package poll
8
9 import "syscall"
10
11 // Fsync wraps syscall.Fsync.
12 func (fd *FD) Fsync() error {
13 if err := fd.incref(); err != nil {
14 return err
15 }
16 defer fd.decref()
17 return ignoringEINTR(func() error {
18 return syscall.Fsync(fd.Sysfd)
19 })
20 }
21