diff options
author | Dmitriy Vyukov <dvyukov@google.com> | 2011-08-16 18:34:56 +1000 |
---|---|---|
committer | Andrew Gerrand <adg@golang.org> | 2011-08-16 18:34:56 +1000 |
commit | 53573c02b8195a55f1c91c2df39e6f1c08cd33d5 (patch) | |
tree | 01e01c7531f0afaa3294f02da74a7ebfa1a398a0 | |
parent | 381f6a2eebb7f0a43d2c69910dc388c076a0dc93 (diff) | |
download | go-53573c02b8195a55f1c91c2df39e6f1c08cd33d5.tar.gz go-53573c02b8195a55f1c91c2df39e6f1c08cd33d5.zip |
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
-rw-r--r-- | src/pkg/rpc/debug.go | 4 | ||||
-rw-r--r-- | 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 ae76a4586a..80d2064153 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 ac3f793047..7450744286 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 |