unix: add ClockSettime on Linux The syscall clock_settime(3) is used to set the time on the specified clock. It is a counterpart to clock_gettime(3) which is already exposed as ClockGettime here. Fixes golang/go#69830 Change-Id: I6145c915754f31e3c50f6a11568eb9d5ba12a778 GitHub-Last-Rev: 5b15f129ccfd91de612ba8167aaf9c426797455d GitHub-Pull-Request: golang/sys#221 Reviewed-on: https://go-review.googlesource.com/c/sys/+/619255 Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
diff --git a/unix/syscall_linux.go b/unix/syscall_linux.go index f08abd4..230a945 100644 --- a/unix/syscall_linux.go +++ b/unix/syscall_linux.go
@@ -1860,6 +1860,7 @@ //sys ClockAdjtime(clockid int32, buf *Timex) (state int, err error) //sys ClockGetres(clockid int32, res *Timespec) (err error) //sys ClockGettime(clockid int32, time *Timespec) (err error) +//sys ClockSettime(clockid int32, time *Timespec) (err error) //sys ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) //sys Close(fd int) (err error) //sys CloseRange(first uint, last uint, flags uint) (err error)
diff --git a/unix/zsyscall_linux.go b/unix/zsyscall_linux.go index af30da5..5cc1e8e 100644 --- a/unix/zsyscall_linux.go +++ b/unix/zsyscall_linux.go
@@ -592,6 +592,16 @@ // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func ClockSettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_SETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) if e1 != 0 {