| 46 | } |
| 47 | |
| 48 | static void do_enqueue(struct msg_queue *q, const u8 *add TAKES) |
| 49 | { |
| 50 | const u8 **msg = membuf_add(&q->mb, 1); |
| 51 | |
| 52 | *msg = tal_dup_talarr(q, u8, add); |
| 53 | |
| 54 | if (!warned_once && msg_queue_length(q) > 250000) { |
| 55 | /* Can cause re-entry, so set flag first! */ |
| 56 | warned_once = true; |
| 57 | send_backtrace("excessive queue length"); |
| 58 | } |
| 59 | |
| 60 | /* In case someone is waiting */ |
| 61 | io_wake(q); |
| 62 | } |
| 63 | |
| 64 | size_t msg_queue_length(const struct msg_queue *q) |
| 65 | { |
no test coverage detected