aboutsummaryrefslogtreecommitdiffstats
path: root/rpc/packages.go
diff options
context:
space:
mode:
Diffstat (limited to 'rpc/packages.go')
-rw-r--r--rpc/packages.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/rpc/packages.go b/rpc/packages.go
index 0b73d48a7..4d2194571 100644
--- a/rpc/packages.go
+++ b/rpc/packages.go
@@ -127,6 +127,9 @@ func (self *EthereumApi) NewFilterString(args string, reply *interface{}) error
filter := core.NewFilter(self.xeth.Backend())
callback := func(block *types.Block) {
+ self.logMut.Lock()
+ defer self.logMut.Unlock()
+
self.logs[id] = append(self.logs[id], &state.StateLog{})
}
if args == "pending" {
@@ -153,6 +156,9 @@ func (self *EthereumApi) FilterChanged(id int, reply *interface{}) error {
}
func (self *EthereumApi) Logs(id int, reply *interface{}) error {
+ self.logMut.Lock()
+ defer self.logMut.Unlock()
+
filter := self.filterManager.GetFilter(id)
*reply = toLogs(filter.Find())