aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Vyukov <dvyukov@google.com>2011-08-16 18:34:56 +1000
committerAndrew Gerrand <adg@golang.org>2011-08-16 18:34:56 +1000
commit53573c02b8195a55f1c91c2df39e6f1c08cd33d5 (patch)
tree01e01c7531f0afaa3294f02da74a7ebfa1a398a0
parent381f6a2eebb7f0a43d2c69910dc388c076a0dc93 (diff)
downloadgo-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.go4
-rw-r--r--src/pkg/rpc/server.go10
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