From 59348ad34141d72c6542c4df60b53b7b753eee5c Mon Sep 17 00:00:00 2001 From: matst80 Date: Sat, 9 Nov 2024 22:09:22 +0100 Subject: [PATCH] change mutex --- synced-pool.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/synced-pool.go b/synced-pool.go index c4e8398..f89447c 100644 --- a/synced-pool.go +++ b/synced-pool.go @@ -168,7 +168,7 @@ type PacketWithData struct { } type PacketQueue struct { - mu sync.Mutex + mu sync.RWMutex Packets []PacketWithData connection net.Conn } @@ -185,7 +185,6 @@ func NewPacketQueue(connection net.Conn) *PacketQueue { log.Printf("Error receiving packet: %v\n", err) //return } - log.Printf("Received packet %d\n", messageType) queue.mu.Lock() queue.Packets = append(queue.Packets, PacketWithData{ MessageType: messageType, @@ -198,13 +197,13 @@ func NewPacketQueue(connection net.Conn) *PacketQueue { go func(queueTimer *time.Ticker) { for { <-queueTimer.C - queue.mu.Lock() + queue.mu.RLock() for i, packet := range queue.Packets { if time.Since(packet.Added) > time.Second*5 { queue.Packets = append(queue.Packets[:i], queue.Packets[i+1:]...) } } - queue.mu.Unlock() + queue.mu.RUnlock() } }(time.NewTicker(time.Second)) return queue