Browse Source

Merge pull request #287 from bluefoxah/master

modify the lock
pull/291/head
Chris Lu 9 years ago
parent
commit
b873b856f2
  1. 5
      go/util/concurrent_read_map.go

5
go/util/concurrent_read_map.go

@ -8,7 +8,6 @@ import (
// initialize the map entries. // initialize the map entries.
type ConcurrentReadMap struct { type ConcurrentReadMap struct {
rmutex sync.RWMutex rmutex sync.RWMutex
mutex sync.Mutex
Items map[string]interface{} Items map[string]interface{}
} }
@ -17,8 +16,8 @@ func NewConcurrentReadMap() *ConcurrentReadMap {
} }
func (m *ConcurrentReadMap) initMapEntry(key string, newEntry func() interface{}) (value interface{}) { func (m *ConcurrentReadMap) initMapEntry(key string, newEntry func() interface{}) (value interface{}) {
m.mutex.Lock()
defer m.mutex.Unlock()
m.rmutex.Lock()
defer m.rmutex.Unlock()
if value, ok := m.Items[key]; ok { if value, ok := m.Items[key]; ok {
return value return value
} }

Loading…
Cancel
Save