rgb-cln/openingd
Dustin Dettmer 2853da1715
connectd+: Flake/race fix for new channels
1) dualopen has fd to connectd
2) channeld needs to take over
3) dualopen passes fd that leads to a connectd over for channeld to use
4) lightningd must receive the fd transfer request and process
5) dualopen shuts down and closes everything it owns

4 & 5 end up in a race. If 5 happens before 4, channeld ends up with an invalid fd for connectd — leaving it in a position to not receive messages.

Lingering for a second makes 4 win the race. Since the daemon is closing anyway, waiting for a second should be alright.

Changelog-Fixed: Fixed a condition for newly created channels that could trigger a need for reconnect.
2022-09-18 10:03:47 -05:00
..
Makefile channeld: take over gossip_rcvd_filter.c and is_msg_gossip_broadcast. 2022-06-17 14:14:02 +09:30
common.c am_opener unused 2022-08-04 14:18:34 -05:00
common.h am_opener unused 2022-08-04 14:18:34 -05:00
dualopend.c connectd+: Flake/race fix for new channels 2022-09-18 10:03:47 -05:00
dualopend_wire.csv dualopend: restore memleak calls. 2022-03-10 09:40:09 +10:30
openingd.c connectd+: Flake/race fix for new channels 2022-09-18 10:03:47 -05:00
openingd_wire.csv lightningd: always tell connectd the channel id. 2022-03-23 13:20:12 +10:30