mirror of
https://github.com/golang/go
synced 2024-11-25 00:37:57 -07:00
os: add Sync to *File, wraps syscall.Fsync
R=rsc, brainman, r, r2 CC=golang-dev https://golang.org/cl/3887042
This commit is contained in:
parent
02e88019f2
commit
217693e93c
@ -408,6 +408,19 @@ func (f *File) Truncate(size int64) Error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sync commits the current contents of the file to stable storage.
|
||||||
|
// Typically, this means flushing the file system's in-memory copy
|
||||||
|
// of recently written data to disk.
|
||||||
|
func (file *File) Sync() (err Error) {
|
||||||
|
if file == nil {
|
||||||
|
return EINVAL
|
||||||
|
}
|
||||||
|
if e := syscall.Fsync(file.fd); e != 0 {
|
||||||
|
return NewSyscallError("fsync", e)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// Chtimes changes the access and modification times of the named
|
// Chtimes changes the access and modification times of the named
|
||||||
// file, similar to the Unix utime() or utimes() functions.
|
// file, similar to the Unix utime() or utimes() functions.
|
||||||
//
|
//
|
||||||
|
@ -684,6 +684,9 @@ func Chown(path string, uid int, gid int) (errno int) { return EWINDOWS }
|
|||||||
func Lchown(path string, uid int, gid int) (errno int) { return EWINDOWS }
|
func Lchown(path string, uid int, gid int) (errno int) { return EWINDOWS }
|
||||||
func Fchown(fd int, uid int, gid int) (errno int) { return EWINDOWS }
|
func Fchown(fd int, uid int, gid int) (errno int) { return EWINDOWS }
|
||||||
|
|
||||||
|
// TODO(brainman): use FlushFileBuffers Windows api to implement Fsync.
|
||||||
|
func Fsync(fd int) (errno int) { return EWINDOWS }
|
||||||
|
|
||||||
func Getuid() (uid int) { return -1 }
|
func Getuid() (uid int) { return -1 }
|
||||||
func Geteuid() (euid int) { return -1 }
|
func Geteuid() (euid int) { return -1 }
|
||||||
func Getgid() (gid int) { return -1 }
|
func Getgid() (gid int) { return -1 }
|
||||||
|
Loading…
Reference in New Issue
Block a user