Use a mutex write-lock for a write operation

This commit is contained in:
obscuren 2015-02-15 02:12:14 +01:00
parent b143dad596
commit 09e53367a2
2 changed files with 8 additions and 8 deletions

View File

@ -436,15 +436,15 @@ func (self *BlacklistMap) Exists(pubkey []byte) (ok bool) {
} }
func (self *BlacklistMap) Put(pubkey []byte) error { func (self *BlacklistMap) Put(pubkey []byte) error {
self.lock.RLock() self.lock.Lock()
defer self.lock.RUnlock() defer self.lock.Unlock()
self.blacklist[string(pubkey)] = true self.blacklist[string(pubkey)] = true
return nil return nil
} }
func (self *BlacklistMap) Delete(pubkey []byte) error { func (self *BlacklistMap) Delete(pubkey []byte) error {
self.lock.RLock() self.lock.Lock()
defer self.lock.RUnlock() defer self.lock.Unlock()
delete(self.blacklist, string(pubkey)) delete(self.blacklist, string(pubkey))
return nil return nil
} }

View File

@ -109,8 +109,8 @@ func (self *EthereumApi) NewFilterString(args string, reply *interface{}) error
} }
func (self *EthereumApi) FilterChanged(id int, reply *interface{}) error { func (self *EthereumApi) FilterChanged(id int, reply *interface{}) error {
self.logMut.RLock() self.logMut.Lock()
defer self.logMut.RUnlock() defer self.logMut.Unlock()
*reply = toLogs(self.logs[id]) *reply = toLogs(self.logs[id])
@ -309,8 +309,8 @@ func (p *EthereumApi) NewWhisperFilter(args *xeth.Options, reply *interface{}) e
} }
func (self *EthereumApi) MessagesChanged(id int, reply *interface{}) error { func (self *EthereumApi) MessagesChanged(id int, reply *interface{}) error {
self.messagesMut.RLock() self.messagesMut.Lock()
defer self.messagesMut.RUnlock() defer self.messagesMut.Unlock()
*reply = self.messages[id] *reply = self.messages[id]