| 565 | } |
| 566 | |
| 567 | static void ipc_startup_lock_release_complete(cbm_daemon_ipc_startup_lock_t **lock_io) { |
| 568 | uint64_t deadline = ipc_deadline_after(CBM_DAEMON_IPC_COORDINATION_CLEANUP_MS); |
| 569 | while (lock_io && *lock_io) { |
| 570 | (void)cbm_daemon_ipc_startup_lock_release(lock_io); |
| 571 | if (!*lock_io) { |
| 572 | return; |
| 573 | } |
| 574 | if (ipc_now_ms() >= deadline) { |
| 575 | ipc_coordination_cleanup_fail_stop("startup_lock_cleanup"); |
| 576 | } |
| 577 | cbm_usleep(1000); |
| 578 | } |
| 579 | } |
| 580 | |
| 581 | static void ipc_participant_guard_release_complete(cbm_daemon_ipc_participant_guard_t **guard_io) { |
| 582 | uint64_t deadline = ipc_deadline_after(CBM_DAEMON_IPC_COORDINATION_CLEANUP_MS); |
no test coverage detected