From 6e00ce9bbd3e3438b4fb30a6f7782693ba00a39a Mon Sep 17 00:00:00 2001 From: Anton Kaliaev Date: Tue, 21 Mar 2017 20:35:40 +0400 Subject: [PATCH] [tm-monitor] fix blocking issue as you can see the mistake is that we listen for quit instead of closing it. --- tm-monitor/eventmeter/eventmeter.go | 3 ++- tm-monitor/monitor/node.go | 7 +------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/tm-monitor/eventmeter/eventmeter.go b/tm-monitor/eventmeter/eventmeter.go index dea4c1b1..d32882fb 100644 --- a/tm-monitor/eventmeter/eventmeter.go +++ b/tm-monitor/eventmeter/eventmeter.go @@ -140,8 +140,9 @@ func (em *EventMeter) Start() error { return nil } +// Stop stops the EventMeter. func (em *EventMeter) Stop() { - <-em.quit + close(em.quit) em.RegisterDisconnectCallback(nil) // so we don't try and reconnect em.wsc.Stop() // close(wsc.Quit) diff --git a/tm-monitor/monitor/node.go b/tm-monitor/monitor/node.go index 72d404a4..308428a2 100644 --- a/tm-monitor/monitor/node.go +++ b/tm-monitor/monitor/node.go @@ -121,12 +121,7 @@ func (n *Node) Start() error { func (n *Node) Stop() { n.Online = false - n.em.RegisterLatencyCallback(nil) - n.em.Unsubscribe(tmtypes.EventStringNewBlockHeader()) - n.em.RegisterDisconnectCallback(nil) - - // FIXME stop blocks at event_meter.go:140 - // n.em.Stop() + n.em.Stop() close(n.quit) }