From 3631e3535ff3e95e3351b708f45ba3704fc2f151 Mon Sep 17 00:00:00 2001 From: ITQ Date: Wed, 22 Oct 2025 12:37:22 +0300 Subject: [PATCH] chore: switched to rw mutex --- main.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/main.go b/main.go index f8c4eb0..9c68c97 100644 --- a/main.go +++ b/main.go @@ -21,7 +21,7 @@ var ( type OrderServiceServer struct { pb.UnimplementedOrderServiceServer - mu sync.Mutex + mu sync.RWMutex orders map[string]*pb.Order } @@ -47,8 +47,8 @@ func (s *OrderServiceServer) CreateOrder(ctx context.Context, req *pb.CreateOrde } func (s *OrderServiceServer) GetOrder(ctx context.Context, req *pb.GetOrderRequest) (*pb.GetOrderResponse, error) { - s.mu.Lock() - defer s.mu.Unlock() + s.mu.RLock() + defer s.mu.RUnlock() order, ok := s.orders[req.Id] if !ok { @@ -88,8 +88,8 @@ func (s *OrderServiceServer) DeleteOrder(ctx context.Context, req *pb.DeleteOrde } func (s *OrderServiceServer) ListOrders(ctx context.Context, req *pb.ListOrdersRequest) (*pb.ListOrdersResponse, error) { - s.mu.Lock() - defer s.mu.Unlock() + s.mu.RLock() + defer s.mu.RUnlock() orders := make([]*pb.Order, 0, len(s.orders)) for _, o := range s.orders {