| 551 | } |
| 552 | |
| 553 | static void main_fiber_dispatch(ACL_FIBER *fiber, void *ctx acl_unused) |
| 554 | { |
| 555 | ACL_VSTREAM *conn; |
| 556 | |
| 557 | if (!acl_var_fiber_dispatch_addr || !*acl_var_fiber_dispatch_addr) { |
| 558 | return; |
| 559 | } |
| 560 | |
| 561 | while (!__server_stopping) { |
| 562 | conn = acl_vstream_connect(acl_var_fiber_dispatch_addr, |
| 563 | ACL_BLOCKING, 0, 0, 4096); |
| 564 | if (conn == NULL) { |
| 565 | acl_msg_warn("%s(%d), %s: connect %s error %s", |
| 566 | __FILE__, __LINE__, __FUNCTION__, |
| 567 | acl_var_fiber_dispatch_addr, acl_last_serror()); |
| 568 | acl_fiber_sleep(1); |
| 569 | continue; |
| 570 | } |
| 571 | |
| 572 | acl_msg_info("%s(%d), %s: connect %s ok", |
| 573 | __FILE__, __LINE__, __FUNCTION__, |
| 574 | acl_var_fiber_dispatch_addr); |
| 575 | |
| 576 | main_dispatch_poll(conn); |
| 577 | acl_vstream_close(conn); |
| 578 | } |
| 579 | |
| 580 | acl_msg_info("%s(%d), %s: fiber-%u exit now", __FILE__, __LINE__, |
| 581 | __FUNCTION__, acl_fiber_id(fiber)); |
| 582 | } |
| 583 | |
| 584 | #endif |
| 585 |
nothing calls this directly
no test coverage detected
searching dependent graphs…