Pārlūkot izejas kodu

add failover ctx mutex

abhishek9686 9 mēneši atpakaļ
vecāks
revīzija
127bf25a63
1 mainītis faili ar 5 papildinājumiem un 1 dzēšanām
  1. 5 1
      pro/logic/failover.go

+ 5 - 1
pro/logic/failover.go

@@ -3,6 +3,7 @@ package logic
 import (
 	"errors"
 	"net"
+	"sync"
 
 	"github.com/google/uuid"
 	"github.com/gravitl/netmaker/logger"
@@ -11,8 +12,11 @@ import (
 	"golang.org/x/exp/slog"
 )
 
-func SetFailOverCtx(failOverNode, victimNode, peerNode models.Node) error {
+var failOverCtxMutex = &sync.RWMutex{}
 
+func SetFailOverCtx(failOverNode, victimNode, peerNode models.Node) error {
+	failOverCtxMutex.Lock()
+	defer failOverCtxMutex.Unlock()
 	if peerNode.FailOverPeers == nil {
 		peerNode.FailOverPeers = make(map[string]struct{})
 	}