mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-03-13 11:09:23 +01:00
sweep: remove redundant notifications during shutdown
This commit removes the hack introduced in #4851. Previously we had this issue because the chain notifier was stopped before the sweeper, which was changed a while back and we now always stop the chain notifier last. In addition, since we no longer subscribe to the block epoch chan directly, this issue can no longer happen.
This commit is contained in:
parent
e113f39d26
commit
3ac6752a77
1 changed files with 1 additions and 32 deletions
|
@ -454,38 +454,7 @@ func (s *UtxoSweeper) Start() error {
|
|||
|
||||
// Start sweeper main loop.
|
||||
s.wg.Add(1)
|
||||
go func() {
|
||||
defer s.wg.Done()
|
||||
|
||||
s.collector()
|
||||
|
||||
// The collector exited and won't longer handle incoming
|
||||
// requests. This can happen on shutdown, when the block
|
||||
// notifier shuts down before the sweeper and its clients. In
|
||||
// order to not deadlock the clients waiting for their requests
|
||||
// being handled, we handle them here and immediately return an
|
||||
// error. When the sweeper finally is shut down we can exit as
|
||||
// the clients will be notified.
|
||||
for {
|
||||
select {
|
||||
case inp := <-s.newInputs:
|
||||
inp.resultChan <- Result{
|
||||
Err: ErrSweeperShuttingDown,
|
||||
}
|
||||
|
||||
case req := <-s.pendingSweepsReqs:
|
||||
req.errChan <- ErrSweeperShuttingDown
|
||||
|
||||
case req := <-s.updateReqs:
|
||||
req.responseChan <- &updateResp{
|
||||
err: ErrSweeperShuttingDown,
|
||||
}
|
||||
|
||||
case <-s.quit:
|
||||
return
|
||||
}
|
||||
}
|
||||
}()
|
||||
go s.collector()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue