diff options
Diffstat (limited to 'src/runtime/timer.go')
-rw-r--r-- | src/runtime/timer.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/runtime/timer.go b/src/runtime/timer.go new file mode 100644 index 000000000..134f9b9ac --- /dev/null +++ b/src/runtime/timer.go @@ -0,0 +1,33 @@ +// Portions copyright 2009 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. + +package runtime + +type puintptr uintptr + +// Package time knows the layout of this structure. +// If this struct changes, adjust ../time/sleep.go:/runtimeTimer. +type timer struct { + // If this timer is on a heap, which P's heap it is on. + // puintptr rather than *p to match uintptr in the versions + // of this struct defined in other packages. + pp puintptr + + // Timer wakes up at when, and then at when+period, ... (period > 0 only) + // each time calling f(arg, now) in the timer goroutine, so f must be + // a well-behaved function and not block. + // + // when must be positive on an active timer. + when int64 + period int64 + f func(any, uintptr) + arg any + seq uintptr + + // What to set the when field to in timerModifiedXX status. + nextwhen int64 + + // The status field holds one of the values below. + status uint32 +} |