33 строки
995 Б
Go
33 строки
995 Б
Go
// 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
|
|
}
|