diff --git a/cluster/cluster.go b/cluster/cluster.go index 7e82315..e1295b4 100644 --- a/cluster/cluster.go +++ b/cluster/cluster.go @@ -230,6 +230,10 @@ func (slf *CCluster) Call(NodeServiceMethod string, args interface{}, reply inte if nodeid == GetNodeId() { //判断服务是否已经完成初始化 iService := service.InstanceServiceMgr().FindService(serviceName) + if iService == nil { + service.GetLogger().Printf(sysmodule.LEVER_ERROR, "CCluster.Call(%s): NodeId %d cannot find.", NodeServiceMethod, nodeid) + return fmt.Errorf("CCluster.Call(%s): NodeId %d cannot find..", NodeServiceMethod, nodeid) + } if iService.IsInit() == false { service.GetLogger().Printf(sysmodule.LEVER_ERROR, "CCluster.Call(%s): NodeId %d is not init.", NodeServiceMethod, nodeid) return fmt.Errorf("CCluster.Call(%s): NodeId %d is not init.", NodeServiceMethod, nodeid) diff --git a/util/map.go b/util/map.go index c3d3b44..50d7bfc 100644 --- a/util/map.go +++ b/util/map.go @@ -85,7 +85,7 @@ func (m *Map) Len() int { return m.UnsafeLen() } -func (m *Map) UnsafeRange(f func(interface{}, interface{})) { +func (m *Map) UnsafeRange(f func(key interface{},value interface{})) { if m.m == nil { return } @@ -94,13 +94,13 @@ func (m *Map) UnsafeRange(f func(interface{}, interface{})) { } } -func (m *Map) RLockRange(f func(interface{}, interface{})) { +func (m *Map) RLockRange(f func(key interface{},value interface{})) { m.RLock() defer m.RUnlock() m.UnsafeRange(f) } -func (m *Map) LockRange(f func(interface{}, interface{})) { +func (m *Map) LockRange(f func(key interface{},value interface{})) { m.Lock() defer m.Unlock() m.UnsafeRange(f)