Browse Source

lightningd/gossip: use daemon_conn for status updates.

We're going to remove status_send (it's sync, and so doesn't play well with
async io).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
ppa-0.6.1
Rusty Russell 8 years ago
parent
commit
3938f40274
  1. 14
      lightningd/gossip/gossip.c

14
lightningd/gossip/gossip.c

@ -80,10 +80,12 @@ static void wake_pkt_out(struct peer *peer);
static void destroy_peer(struct peer *peer) static void destroy_peer(struct peer *peer)
{ {
list_del_from(&peer->daemon->peers, &peer->list); list_del_from(&peer->daemon->peers, &peer->list);
if (peer->error) if (peer->error) {
status_send(towire_gossipstatus_peer_bad_msg(peer, u8 *msg = towire_gossipstatus_peer_bad_msg(peer,
peer->unique_id, peer->unique_id,
(u8 *)peer->error)); (u8 *)peer->error);
daemon_conn_send(&peer->daemon->master, take(msg));
}
} }
static struct peer *setup_new_peer(struct daemon *daemon, const u8 *msg) static struct peer *setup_new_peer(struct daemon *daemon, const u8 *msg)
@ -163,9 +165,9 @@ static struct io_plan *peer_msgin(struct io_conn *conn,
s = towire_gossipstatus_peer_nongossip(msg, peer->unique_id, s = towire_gossipstatus_peer_nongossip(msg, peer->unique_id,
&peer->pcs.cs, msg); &peer->pcs.cs, msg);
peer->local = false; peer->local = false;
status_send(s); daemon_conn_send(&peer->daemon->master, take(s));
status_send_fd(io_conn_fd(conn)); daemon_conn_send_fd(&peer->daemon->master, io_conn_fd(conn));
return io_close(conn); return io_close_taken_fd(conn);
} }
/* BOLT #1: /* BOLT #1:

Loading…
Cancel
Save