| 1383 | } |
| 1384 | |
| 1385 | static bool runtime_worker_handle_disconnect(cbm_daemon_runtime_worker_t *worker, uint32_t length) { |
| 1386 | if (length != 0) { |
| 1387 | return false; |
| 1388 | } |
| 1389 | cbm_daemon_runtime_service_t *service = worker->service; |
| 1390 | cbm_mutex_lock(&service->mutex); |
| 1391 | worker->final_response_inflight = true; |
| 1392 | cbm_mutex_unlock(&service->mutex); |
| 1393 | runtime_worker_disconnect(worker); |
| 1394 | bool sent = runtime_worker_send_status(worker, CBM_DAEMON_RUNTIME_OP_DISCONNECT, true); |
| 1395 | cbm_mutex_lock(&service->mutex); |
| 1396 | worker->final_response_inflight = false; |
| 1397 | cbm_mutex_unlock(&service->mutex); |
| 1398 | return sent; |
| 1399 | } |
| 1400 | |
| 1401 | static void runtime_worker_finish(cbm_daemon_runtime_worker_t *worker) { |
| 1402 | cbm_daemon_runtime_service_t *service = worker->service; |
no test coverage detected