]> Sergey Matveev's repositories - btrtrc.git/blobdiff - deferrwl.go
Drop support for go 1.20
[btrtrc.git] / deferrwl.go
index e8e90e87cef7dd751de076213ad87701ef3f94b1..bf95be244f064880a6117a1358304e5db634d1af 100644 (file)
@@ -15,10 +15,11 @@ func (me *lockWithDeferreds) 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()
 }