From 53573c02b8195a55f1c91c2df39e6f1c08cd33d5 Mon Sep 17 00:00:00 2001 From: Dmitriy Vyukov Date: Tue, 16 Aug 2011 18:34:56 +1000 Subject: [PATCH] rpc: make Server.Mutex unexported Currently it's possible to write: var s rpc.Server ... // reuse for my own purposes s.Lock() ... s.Unlock() which is seemingly not intended. R=golang-dev, adg CC=golang-dev https://golang.org/cl/4888049 --- src/pkg/rpc/debug.go | 4 ++-- src/pkg/rpc/server.go | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/pkg/rpc/debug.go b/src/pkg/rpc/debug.go index ae76a4586ad..80d20641531 100644 --- a/src/pkg/rpc/debug.go +++ b/src/pkg/rpc/debug.go @@ -70,7 +70,7 @@ func (server debugHTTP) ServeHTTP(w http.ResponseWriter, req *http.Request) { // Build a sorted version of the data. var services = make(serviceArray, len(server.serviceMap)) i := 0 - server.Lock() + server.mu.Lock() for sname, service := range server.serviceMap { services[i] = debugService{service, sname, make(methodArray, len(service.method))} j := 0 @@ -81,7 +81,7 @@ func (server debugHTTP) ServeHTTP(w http.ResponseWriter, req *http.Request) { sort.Sort(services[i].Method) i++ } - server.Unlock() + server.mu.Unlock() sort.Sort(services) err := debug.Execute(w, services) if err != nil { diff --git a/src/pkg/rpc/server.go b/src/pkg/rpc/server.go index ac3f793047d..74507442862 100644 --- a/src/pkg/rpc/server.go +++ b/src/pkg/rpc/server.go @@ -174,7 +174,7 @@ type Response struct { // Server represents an RPC Server. type Server struct { - sync.Mutex // protects the serviceMap + mu sync.Mutex // protects the serviceMap serviceMap map[string]*service reqLock sync.Mutex // protects freeReq freeReq *Request @@ -226,8 +226,8 @@ func (server *Server) RegisterName(name string, rcvr interface{}) os.Error { } func (server *Server) register(rcvr interface{}, name string, useName bool) os.Error { - server.Lock() - defer server.Unlock() + server.mu.Lock() + defer server.mu.Unlock() if server.serviceMap == nil { server.serviceMap = make(map[string]*service) } @@ -524,9 +524,9 @@ func (server *Server) readRequestHeader(codec ServerCodec) (service *service, mt return } // Look up the request. - server.Lock() + server.mu.Lock() service = server.serviceMap[serviceMethod[0]] - server.Unlock() + server.mu.Unlock() if service == nil { err = os.NewError("rpc: can't find service " + req.ServiceMethod) return