aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/runtime/timer.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/timer.go')
-rw-r--r--src/runtime/timer.go33
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
+}