channelnotifier+discover+invoices: return error in Stop functions

In order to be consistent with other sub systems an error is now
returned from the Stop functions.
This also allows writing a generic cleanup mechanism to stop all
sub systems in case of a failure.
This commit is contained in:
Roei Erez
2019-01-21 13:11:19 +02:00
parent c998264578
commit 3223df74e5
10 changed files with 58 additions and 20 deletions

View File

@@ -87,12 +87,14 @@ func (h *HtlcNotifier) Start() error {
}
// Stop signals the notifier for a graceful shutdown.
func (h *HtlcNotifier) Stop() {
func (h *HtlcNotifier) Stop() error {
var err error
h.stopped.Do(func() {
if err := h.ntfnServer.Stop(); err != nil {
if err = h.ntfnServer.Stop(); err != nil {
log.Warnf("error stopping htlc notifier: %v", err)
}
})
return err
}
// SubscribeHtlcEvents returns a subscribe.Client that will receive updates