]> Cypherpunks repositories - gostls13.git/commit
syscall: add utimensat and use it for UtimesNano on BSD and Solaris
authorTobias Klauser <tklauser@distanz.ch>
Fri, 11 Aug 2017 14:49:01 +0000 (16:49 +0200)
committerIan Lance Taylor <iant@golang.org>
Mon, 14 Aug 2017 04:14:41 +0000 (04:14 +0000)
commit67c360594f1cdfa8e663bf5ff51724d3fc31abb9
tree64e627cf79f98d770b07d3296de77c78bd27fcb3
parent6203a79b52a550f05511411a6c7bc3597381ee8e
syscall: add utimensat and use it for UtimesNano on BSD and Solaris

All the BSDs and Solaris support the utimensat syscall, but Darwin
doesn't. Account for that by adding the //sys lines not to
syscall_bsd.go but the individual OS's syscall_*.go files and implement
utimensat on Darwin as just returning ENOSYS, such that UtimesNano will
fall back to use utimes as it currently does unconditionally.

This also adds the previously missing utimensat syscall number for
FreeBSD and Dragonfly.

Fixes #16480

Change-Id: I367454c6168eb1f7150b988fa16cf02abff42f34
Reviewed-on: https://go-review.googlesource.com/55130
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
43 files changed:
src/syscall/syscall_bsd.go
src/syscall/syscall_darwin.go
src/syscall/syscall_dragonfly.go
src/syscall/syscall_freebsd.go
src/syscall/syscall_netbsd.go
src/syscall/syscall_openbsd.go
src/syscall/syscall_solaris.go
src/syscall/types_darwin.go
src/syscall/types_dragonfly.go
src/syscall/types_freebsd.go
src/syscall/types_netbsd.go
src/syscall/types_openbsd.go
src/syscall/types_solaris.go
src/syscall/zsyscall_dragonfly_amd64.go
src/syscall/zsyscall_freebsd_386.go
src/syscall/zsyscall_freebsd_amd64.go
src/syscall/zsyscall_freebsd_arm.go
src/syscall/zsyscall_netbsd_386.go
src/syscall/zsyscall_netbsd_amd64.go
src/syscall/zsyscall_netbsd_arm.go
src/syscall/zsyscall_openbsd_386.go
src/syscall/zsyscall_openbsd_amd64.go
src/syscall/zsyscall_openbsd_arm.go
src/syscall/zsyscall_solaris_amd64.go
src/syscall/zsysnum_dragonfly_amd64.go
src/syscall/zsysnum_freebsd_386.go
src/syscall/zsysnum_freebsd_amd64.go
src/syscall/zsysnum_freebsd_arm.go
src/syscall/ztypes_darwin_386.go
src/syscall/ztypes_darwin_amd64.go
src/syscall/ztypes_darwin_arm.go
src/syscall/ztypes_darwin_arm64.go
src/syscall/ztypes_dragonfly_amd64.go
src/syscall/ztypes_freebsd_386.go
src/syscall/ztypes_freebsd_amd64.go
src/syscall/ztypes_freebsd_arm.go
src/syscall/ztypes_netbsd_386.go
src/syscall/ztypes_netbsd_amd64.go
src/syscall/ztypes_netbsd_arm.go
src/syscall/ztypes_openbsd_386.go
src/syscall/ztypes_openbsd_amd64.go
src/syscall/ztypes_openbsd_arm.go
src/syscall/ztypes_solaris_amd64.go