htlcswitch: fix mockInvoiceRegistry implementation of SettleInvoice

In this commit we fix the implementation of SettleInvoice by ensuring
the lock is held for the duration of the method.
This commit is contained in:
Olaoluwa Osuntokun
2017-11-11 15:05:52 -08:00
parent a702aace9c
commit 849abde253

View File

@ -419,15 +419,15 @@ func (i *mockInvoiceRegistry) LookupInvoice(rHash chainhash.Hash) (*channeldb.In
}
func (i *mockInvoiceRegistry) SettleInvoice(rhash chainhash.Hash) error {
i.Lock()
defer i.Unlock()
invoice, err := i.LookupInvoice(rhash)
if err != nil {
return err
invoice, ok := i.invoices[rhash]
if !ok {
return errors.New("can't find mock invoice")
}
i.Lock()
invoice.Terms.Settled = true
i.Unlock()
return nil
}