1// Copyright 2017 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// Declarations for operating systems implementing time.now 6// indirectly, in terms of walltime and nanotime assembly. 7 8//go:build !faketime && !windows && !(linux && amd64) 9 10package runtime 11 12import _ "unsafe" // for go:linkname 13 14// time_now should be an internal detail, 15// but widely used packages access it using linkname. 16// Notable members of the hall of shame include: 17// - gitee.com/quant1x/gox 18// - github.com/phuslu/log 19// - github.com/sethvargo/go-limiter 20// - github.com/ulule/limiter/v3 21// 22// Do not remove or change the type signature. 23// See go.dev/issue/67401. 24// 25//go:linkname time_now time.now 26func time_now() (sec int64, nsec int32, mono int64) { 27 sec, nsec = walltime() 28 return sec, nsec, nanotime() 29} 30