MCPcopy Index your code
hub / github.com/tailscale/tailscale / doSlow

Method doSlow

types/lazy/deferred.go:80–96  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

78}
79
80func (d *DeferredInit) doSlow() (err *error) {
81 d.m.Lock()
82 defer d.m.Unlock()
83 if err := d.err.Load(); err != nil {
84 return err
85 }
86 defer func() {
87 d.err.Store(err)
88 d.funcs = nil // do not keep funcs alive after invoking
89 }()
90 for _, f := range d.funcs {
91 if err := f(); err != nil {
92 return new(err)
93 }
94 }
95 return nilErrPtr
96}
97
98// Funcs is a shorthand for &d.DeferredFuncs.
99// The returned value can safely be passed to external code,

Callers 1

DoMethod · 0.95

Calls 4

LockMethod · 0.65
UnlockMethod · 0.65
LoadMethod · 0.65
StoreMethod · 0.65

Tested by

no test coverage detected