| // Copyright 2019 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| //go:build faketime | |
| package syscall | |
| import "unsafe" | |
| const faketime = true | |
| // When faketime is enabled, we redirect writes to FDs 1 and 2 through | |
| // the runtime's write function, since that adds the framing that | |
| // reports the emulated time. | |
| //go:linkname runtimeWrite runtime.write | |
| func runtimeWrite(fd uintptr, p unsafe.Pointer, n int32) int32 | |
| func faketimeWrite(fd int, p []byte) int { | |
| var pp *byte | |
| if len(p) > 0 { | |
| pp = &p[0] | |
| } | |
| return int(runtimeWrite(uintptr(fd), unsafe.Pointer(pp), int32(len(p)))) | |
| } |