| 1605 | } |
| 1606 | |
| 1607 | static void handle_channel_closed(struct subd *dualopend, |
| 1608 | const int *fds, |
| 1609 | const u8 *msg) |
| 1610 | { |
| 1611 | struct peer_fd *peer_fd; |
| 1612 | struct channel *channel = dualopend->channel; |
| 1613 | |
| 1614 | if (!fromwire_dualopend_shutdown_complete(msg)) { |
| 1615 | channel_internal_error(dualopend->channel, |
| 1616 | "Bad DUALOPEND_SHUTDOWN_COMPLETE: %s", |
| 1617 | tal_hex(msg, msg)); |
| 1618 | close(fds[0]); |
| 1619 | close(fds[1]); |
| 1620 | return; |
| 1621 | } |
| 1622 | |
| 1623 | peer_fd = new_peer_fd_arr(tmpctx, fds); |
| 1624 | |
| 1625 | peer_start_closingd(channel, peer_fd); |
| 1626 | channel_set_state(channel, |
| 1627 | CHANNELD_SHUTTING_DOWN, |
| 1628 | CLOSINGD_SIGEXCHANGE, |
| 1629 | REASON_UNKNOWN, |
| 1630 | "Start closingd"); |
| 1631 | } |
| 1632 | |
| 1633 | struct channel_send { |
| 1634 | const struct wally_tx *wtx; |
no test coverage detected