From 65969fb499eb53f145847ad8775ae2d9c80cd0d8 Mon Sep 17 00:00:00 2001 From: iamqizhao Date: Mon, 16 May 2016 19:19:35 -0700 Subject: [PATCH] lock optimization --- clientconn.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/clientconn.go b/clientconn.go index 09136204c..0263d81e2 100644 --- a/clientconn.go +++ b/clientconn.go @@ -336,18 +336,18 @@ func (cc *ClientConn) watchAddrUpdates() error { return err } case naming.Delete: - cc.mu.Lock() + cc.mu.RLock() addr := Address{ Addr: update.Addr, Metadata: update.Metadata, } ac, ok := cc.conns[addr] if !ok { - cc.mu.Unlock() + cc.mu.RUnlock() grpclog.Println("grpc: The name resolver wanted to delete a non-exist address: ", addr) continue } - cc.mu.Unlock() + cc.mu.RUnlock() ac.tearDown(ErrConnDrain) default: grpclog.Println("Unknown update.Op ", update.Op)