Commit 8128190f authored by Jeffrey Wilcke's avatar Jeffrey Wilcke

Merge pull request #136 from fjl/feature/raceless-ethereum-filters

Fix chain filter data race
parents 83a4b8b4 c1f8a640
...@@ -193,21 +193,21 @@ func (self *UiLib) StartDebugger() { ...@@ -193,21 +193,21 @@ func (self *UiLib) StartDebugger() {
dbWindow.Show() dbWindow.Show()
} }
func (self *UiLib) NewFilter(object map[string]interface{}) int { func (self *UiLib) NewFilter(object map[string]interface{}) (id int) {
filter, id := self.eth.InstallFilter(object) filter := ethchain.NewFilterFromMap(object, self.eth)
filter.MessageCallback = func(messages ethstate.Messages) { filter.MessageCallback = func(messages ethstate.Messages) {
self.win.Root().Call("invokeFilterCallback", ethpipe.ToJSMessages(messages), id) self.win.Root().Call("invokeFilterCallback", ethpipe.ToJSMessages(messages), id)
} }
id = self.eth.InstallFilter(filter)
return id return id
} }
func (self *UiLib) NewFilterString(typ string) int { func (self *UiLib) NewFilterString(typ string) (id int) {
filter, id := self.eth.InstallFilter(nil) filter := ethchain.NewFilter(self.eth)
filter.BlockCallback = func(block *ethchain.Block) { filter.BlockCallback = func(block *ethchain.Block) {
self.win.Root().Call("invokeFilterCallback", "{}", id) self.win.Root().Call("invokeFilterCallback", "{}", id)
} }
id = self.eth.InstallFilter(filter)
return id return id
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment