From d787e74125b7c5fcd1d5f66a6a5585511973b385 Mon Sep 17 00:00:00 2001 From: "Johan T. Halseth" Date: Thu, 21 Jun 2018 10:52:49 +0100 Subject: [PATCH] contractcourt/channel_arbitrator: stop block epoch on channel attendant exit --- contractcourt/channel_arbitrator.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/contractcourt/channel_arbitrator.go b/contractcourt/channel_arbitrator.go index ac7cdb1a..44e40ce3 100644 --- a/contractcourt/channel_arbitrator.go +++ b/contractcourt/channel_arbitrator.go @@ -305,8 +305,6 @@ func (c *ChannelArbitrator) Stop() error { close(c.quit) c.wg.Wait() - c.cfg.BlockEpochs.Cancel() - return nil } @@ -1293,7 +1291,10 @@ func (c *ChannelArbitrator) UpdateContractSignals(newSignals *ContractSignals) { func (c *ChannelArbitrator) channelAttendant(bestHeight int32) { // TODO(roasbeef): tell top chain arb we're done - defer c.wg.Done() + defer func() { + c.cfg.BlockEpochs.Cancel() + c.wg.Done() + }() for { select {