| 2146 | } |
| 2147 | |
| 2148 | static void runtime_startup_lock_release_complete(cbm_daemon_ipc_startup_lock_t **lock_io, |
| 2149 | uint32_t timeout_ms) { |
| 2150 | uint64_t deadline = runtime_deadline_after(timeout_ms); |
| 2151 | while (lock_io && *lock_io) { |
| 2152 | (void)cbm_daemon_ipc_startup_lock_release(lock_io); |
| 2153 | if (!*lock_io) { |
| 2154 | return; |
| 2155 | } |
| 2156 | if (cbm_now_ms() >= deadline) { |
| 2157 | runtime_cleanup_fail_stop("startup_lock_cleanup"); |
| 2158 | } |
| 2159 | cbm_usleep(1000); |
| 2160 | } |
| 2161 | } |
| 2162 | |
| 2163 | static void runtime_service_destroy_unstarted(cbm_daemon_runtime_service_t *service) { |
| 2164 | if (!service) { |
no test coverage detected