mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-02-22 22:45:27 +01:00
connectd: send cleanup messages however peer is freed.
This lets us tal_free() it wherever we want, rather than always freeing via peer_discard. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
d58e6fa20b
commit
e856accb7d
1 changed files with 9 additions and 8 deletions
|
@ -287,6 +287,15 @@ static struct io_plan *peer_reconnected(struct io_conn *conn,
|
|||
void destroy_peer(struct peer *peer)
|
||||
{
|
||||
peer_htable_del(&peer->daemon->peers, peer);
|
||||
|
||||
/* Tell gossipd to stop asking this peer gossip queries */
|
||||
daemon_conn_send(peer->daemon->gossipd,
|
||||
take(towire_gossipd_peer_gone(NULL, &peer->id)));
|
||||
|
||||
/* Tell lightningd it's really disconnected */
|
||||
daemon_conn_send(peer->daemon->master,
|
||||
take(towire_connectd_peer_disconnect_done(NULL,
|
||||
&peer->id)));
|
||||
}
|
||||
|
||||
/*~ This is where we create a new peer. */
|
||||
|
@ -1936,14 +1945,6 @@ void peer_conn_closed(struct peer *peer)
|
|||
|
||||
status_peer_debug(&peer->id, "peer_conn_closed");
|
||||
|
||||
/* Tell gossipd to stop asking this peer gossip queries */
|
||||
daemon_conn_send(peer->daemon->gossipd,
|
||||
take(towire_gossipd_peer_gone(NULL, &peer->id)));
|
||||
|
||||
/* Tell lightningd it's really disconnected */
|
||||
daemon_conn_send(peer->daemon->master,
|
||||
take(towire_connectd_peer_disconnect_done(NULL,
|
||||
&peer->id)));
|
||||
/* Wake up in case there's a reconnecting peer waiting in io_wait. */
|
||||
io_wake(peer);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue