| 595 | } |
| 596 | |
| 597 | void hsmd_status_failed(enum status_failreason reason, const char *fmt, ...) |
| 598 | { |
| 599 | va_list ap; |
| 600 | char *str; |
| 601 | |
| 602 | va_start(ap, fmt); |
| 603 | str = tal_vfmt(NULL, fmt, ap); |
| 604 | va_end(ap); |
| 605 | |
| 606 | /* Give a nice backtrace when this happens! */ |
| 607 | if (reason == STATUS_FAIL_INTERNAL_ERROR) |
| 608 | send_backtrace(str); |
| 609 | |
| 610 | status_send_fatal(take(towire_status_fail(NULL, reason, str))); |
| 611 | } |
| 612 | |
| 613 | /*~ This is the core of the HSM daemon: handling requests. */ |
| 614 | static struct io_plan *handle_client(struct io_conn *conn, struct client *c) |
no test coverage detected