123456789101112131415161718192021222324 |
- // +build linux freebsd
- package system // import "github.com/docker/docker/pkg/system"
- import (
- "syscall"
- "golang.org/x/sys/unix"
- )
- // LUtimesNano is used to change access and modification time of the specified path.
- // It's used for symbol link file because unix.UtimesNano doesn't support a NOFOLLOW flag atm.
- func LUtimesNano(path string, ts []syscall.Timespec) error {
- uts := []unix.Timespec{
- unix.NsecToTimespec(syscall.TimespecToNsec(ts[0])),
- unix.NsecToTimespec(syscall.TimespecToNsec(ts[1])),
- }
- err := unix.UtimesNanoAt(unix.AT_FDCWD, path, uts, unix.AT_SYMLINK_NOFOLLOW)
- if err != nil && err != unix.ENOSYS {
- return err
- }
- return nil
- }
|