Source file src/syscall/time_fake.go
1 // Copyright 2019 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 //go:build faketime 6 7 package syscall 8 9 import "unsafe" 10 11 const faketime = true 12 13 // When faketime is enabled, we redirect writes to FDs 1 and 2 through 14 // the runtime's write function, since that adds the framing that 15 // reports the emulated time. 16 17 //go:linkname runtimeWrite runtime.write 18 func runtimeWrite(fd uintptr, p unsafe.Pointer, n int32) int32 19 20 func faketimeWrite(fd int, p []byte) int { 21 var pp *byte 22 if len(p) > 0 { 23 pp = &p[0] 24 } 25 return int(runtimeWrite(uintptr(fd), unsafe.Pointer(pp), int32(len(p)))) 26 } 27