mirror of
https://github.com/aljazceru/lightning.git
synced 2026-01-21 06:44:21 +01:00
lightningd: fix db error where we can have detached peer.
An uncommitted channel should not keep the peer in the db, since the uncommitted channel isn't in the db itself. Fixes: #2367 Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
committed by
Christian Decker
parent
26df586fbf
commit
3b587a1c6d
@@ -139,10 +139,16 @@ static void delete_peer(struct peer *peer)
|
||||
/* Last one out deletes peer. */
|
||||
void maybe_delete_peer(struct peer *peer)
|
||||
{
|
||||
if (peer->uncommitted_channel)
|
||||
return;
|
||||
if (!list_empty(&peer->channels))
|
||||
return;
|
||||
if (peer->uncommitted_channel) {
|
||||
/* This isn't sufficient to keep it in db! */
|
||||
if (peer->dbid != 0) {
|
||||
wallet_peer_delete(peer->ld->wallet, peer->dbid);
|
||||
peer->dbid = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
delete_peer(peer);
|
||||
}
|
||||
|
||||
|
||||
@@ -1510,7 +1510,6 @@ def test_restart_many_payments(node_factory):
|
||||
wait_for(lambda: 'pending' not in [p['status'] for p in n.rpc.listpayments()['payments']])
|
||||
|
||||
|
||||
@pytest.mark.xfail(strict=True)
|
||||
@unittest.skipIf(not DEVELOPER, "need dev-disconnect")
|
||||
def test_fail_unconfirmed(node_factory, bitcoind, executor):
|
||||
"""Test that if we crash with an unconfirmed connection to a known
|
||||
|
||||
Reference in New Issue
Block a user