Prechádzať zdrojové kódy

change mutex to write lock

abhishek9686 6 mesiacov pred
rodič
commit
dd8cd5856e
3 zmenil súbory, kde vykonal 7 pridanie a 7 odobranie
  1. 5 5
      logic/nodes.go
  2. 1 1
      models/extclient.go
  3. 1 1
      models/node.go

+ 5 - 5
logic/nodes.go

@@ -36,7 +36,7 @@ func getNodeFromCache(nodeID string) (node models.Node, ok bool) {
 	nodeCacheMutex.RLock()
 	node, ok = nodesCacheMap[nodeID]
 	if node.Mutex == nil {
-		node.Mutex = &sync.RWMutex{}
+		node.Mutex = &sync.Mutex{}
 	}
 	nodeCacheMutex.RUnlock()
 	return
@@ -45,7 +45,7 @@ func getNodesFromCache() (nodes []models.Node) {
 	nodeCacheMutex.RLock()
 	for _, node := range nodesCacheMap {
 		if node.Mutex == nil {
-			node.Mutex = &sync.RWMutex{}
+			node.Mutex = &sync.Mutex{}
 		}
 		nodes = append(nodes, node)
 	}
@@ -432,7 +432,7 @@ func GetAllNodes() ([]models.Node, error) {
 		// add node to our array
 		nodes = append(nodes, node)
 		if node.Mutex == nil {
-			node.Mutex = &sync.RWMutex{}
+			node.Mutex = &sync.Mutex{}
 		}
 		nodesMap[node.ID.String()] = node
 	}
@@ -821,13 +821,13 @@ func GetTagMapWithNodes() (tagNodesMap map[models.TagID][]models.Node) {
 			continue
 		}
 		if nodeI.Mutex != nil {
-			nodeI.Mutex.RLock()
+			nodeI.Mutex.Lock()
 		}
 		for nodeTagID := range nodeI.Tags {
 			tagNodesMap[nodeTagID] = append(tagNodesMap[nodeTagID], nodeI)
 		}
 		if nodeI.Mutex != nil {
-			nodeI.Mutex.RUnlock()
+			nodeI.Mutex.Unlock()
 		}
 
 	}

+ 1 - 1
models/extclient.go

@@ -57,6 +57,6 @@ func (ext *ExtClient) ConvertToStaticNode() Node {
 		Tags:       ext.Tags,
 		IsStatic:   true,
 		StaticNode: *ext,
-		Mutex:      &sync.RWMutex{},
+		Mutex:      &sync.Mutex{},
 	}
 }

+ 1 - 1
models/node.go

@@ -118,7 +118,7 @@ type Node struct {
 	IsUserNode        bool                `json:"is_user_node"`
 	StaticNode        ExtClient           `json:"static_node"`
 	Status            NodeStatus          `json:"node_status"`
-	Mutex             *sync.RWMutex       `json:"-"`
+	Mutex             *sync.Mutex         `json:"-"`
 }
 
 // LegacyNode - legacy struct for node model