deferrwl.go | 7 ++++--- diff --git a/deferrwl.go b/deferrwl.go index e8e90e87cef7dd751de076213ad87701ef3f94b1..bf95be244f064880a6117a1358304e5db634d1af 100644 --- a/deferrwl.go +++ b/deferrwl.go @@ -15,10 +15,11 @@ me.internal.Lock() } func (me *lockWithDeferreds) Unlock() { - for _, a := range me.unlockActions { - a() + unlockActions := me.unlockActions + for i := 0; i < len(unlockActions); i += 1 { + unlockActions[i]() } - me.unlockActions = me.unlockActions[:0] + me.unlockActions = unlockActions[:0] me.internal.Unlock() }