| 1166 | } |
| 1167 | |
| 1168 | static bool runtime_worker_admit(cbm_daemon_runtime_worker_t *worker, |
| 1169 | cbm_daemon_client_id_t *client_id_out) { |
| 1170 | cbm_daemon_runtime_service_t *service = worker->service; |
| 1171 | cbm_daemon_client_id_t client_id = CBM_DAEMON_CLIENT_ID_INVALID; |
| 1172 | cbm_mutex_lock(&service->mutex); |
| 1173 | if (service->state == CBM_DAEMON_RUNTIME_SERVICE_RUNNING) { |
| 1174 | client_id = cbm_daemon_client_connected(service->coordinator, cbm_now_ms()); |
| 1175 | if (client_id != CBM_DAEMON_CLIENT_ID_INVALID) { |
| 1176 | worker->client_id = client_id; |
| 1177 | worker->admitted = true; |
| 1178 | worker->admission_committed = false; |
| 1179 | service->admitted_total++; |
| 1180 | } |
| 1181 | } |
| 1182 | cbm_mutex_unlock(&service->mutex); |
| 1183 | *client_id_out = client_id; |
| 1184 | return client_id != CBM_DAEMON_CLIENT_ID_INVALID; |
| 1185 | } |
| 1186 | |
| 1187 | static bool runtime_worker_commit_admission(cbm_daemon_runtime_worker_t *worker) { |
| 1188 | cbm_daemon_runtime_service_t *service = worker->service; |
no test coverage detected