mirror of
https://github.com/tailscale/tailscale.git
synced 2025-12-03 00:11:35 +01:00
tka: don't panic if no clock set in tka.Mem
This is causing confusing panics in tailscale/corp#34485. We'll keep using the tka.ChonkMem constructor as much as we can, but don't panic if you create a tka.Mem directly -- we know what the sensible thing is. Updates #cleanup Signed-off-by: Alex Chan <alexc@tailscale.com> Change-Id: I49309f5f403fc26ce4f9a6cf0edc8eddf6a6f3a4
This commit is contained in:
parent
c679aaba32
commit
ce95bc77fb
@ -193,7 +193,7 @@ updateLoop:
|
|||||||
for _, aum := range updates {
|
for _, aum := range updates {
|
||||||
aumHash := aum.Hash()
|
aumHash := aum.Hash()
|
||||||
c.aums[aumHash] = aum
|
c.aums[aumHash] = aum
|
||||||
c.commitTimes[aumHash] = c.clock.Now()
|
c.commitTimes[aumHash] = c.now()
|
||||||
|
|
||||||
parent, ok := aum.Parent()
|
parent, ok := aum.Parent()
|
||||||
if ok {
|
if ok {
|
||||||
@ -209,6 +209,16 @@ updateLoop:
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// now returns the current time, optionally using the overridden
|
||||||
|
// clock if set.
|
||||||
|
func (c *Mem) now() time.Time {
|
||||||
|
if c.clock == nil {
|
||||||
|
return time.Now()
|
||||||
|
} else {
|
||||||
|
return c.clock.Now()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// RemoveAll permanently and completely clears the TKA state.
|
// RemoveAll permanently and completely clears the TKA state.
|
||||||
func (c *Mem) RemoveAll() error {
|
func (c *Mem) RemoveAll() error {
|
||||||
c.mu.Lock()
|
c.mu.Lock()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user