diff --git a/lightningd/peer_htlcs.c b/lightningd/peer_htlcs.c index 0688099cb..242f29de9 100644 --- a/lightningd/peer_htlcs.c +++ b/lightningd/peer_htlcs.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -591,6 +592,14 @@ static void htlc_offer_timeout(struct htlc_out *out) tal_free(channel->owner); channel_set_billboard(channel, false, "Adding HTLC timed out: killed connection"); + + /* Force a disconnect in case the issue is with TCP */ + if (channel->peer->ld->connectd) { + const struct peer *peer = channel->peer; + subd_send_msg(peer->ld->connectd, + take(towire_connectd_discard_peer(NULL, &peer->id, + peer->connectd_counter))); + } } /* Returns failmsg, or NULL on success. */ diff --git a/tests/test_closing.py b/tests/test_closing.py index c4de52d26..7c6be181f 100644 --- a/tests/test_closing.py +++ b/tests/test_closing.py @@ -3641,7 +3641,6 @@ def test_close_weight_estimate(node_factory, bitcoind): assert signed_weight + 6 >= final_estimate # 70byte signature -@pytest.mark.xfail(strict=True) @pytest.mark.developer("needs dev_disconnect") def test_onchain_close_upstream(node_factory, bitcoind): """https://github.com/ElementsProject/lightning/issues/4649