Merge pull request #285 from thinxer/needle-mutex

storage: do not copy sync.Mutex by value
This commit is contained in:
Chris Lu 2016-04-09 23:57:18 -07:00
commit 113392bce8

View file

@ -39,7 +39,7 @@ type baseNeedleMapper struct {
mapMetric
}
func (nm baseNeedleMapper) IndexFileSize() uint64 {
func (nm *baseNeedleMapper) IndexFileSize() uint64 {
stat, err := nm.indexFile.Stat()
if err == nil {
return uint64(stat.Size())
@ -47,7 +47,7 @@ func (nm baseNeedleMapper) IndexFileSize() uint64 {
return 0
}
func (nm baseNeedleMapper) IndexFileName() string {
func (nm *baseNeedleMapper) IndexFileName() string {
return nm.indexFile.Name()
}
@ -57,7 +57,7 @@ func idxFileEntry(bytes []byte) (key uint64, offset uint32, size uint32) {
size = binary.BigEndian.Uint32(bytes[12:16])
return
}
func (nm baseNeedleMapper) appendToIndexFile(key uint64, offset uint32, size uint32) error {
func (nm *baseNeedleMapper) appendToIndexFile(key uint64, offset uint32, size uint32) error {
bytes := make([]byte, 16)
binary.BigEndian.PutUint64(bytes[0:8], key)
binary.BigEndian.PutUint32(bytes[8:12], offset)
@ -72,7 +72,7 @@ func (nm baseNeedleMapper) appendToIndexFile(key uint64, offset uint32, size uin
_, err := nm.indexFile.Write(bytes)
return err
}
func (nm baseNeedleMapper) IndexFileContent() ([]byte, error) {
func (nm *baseNeedleMapper) IndexFileContent() ([]byte, error) {
nm.indexFileAccessLock.Lock()
defer nm.indexFileAccessLock.Unlock()
return ioutil.ReadFile(nm.indexFile.Name())