| 1414 | } |
| 1415 | |
| 1416 | static bool runtime_worker_handle_disconnect(cbm_daemon_runtime_worker_t *worker, uint32_t length) { |
| 1417 | if (length != 0) { |
| 1418 | return false; |
| 1419 | } |
| 1420 | cbm_daemon_runtime_service_t *service = worker->service; |
| 1421 | cbm_mutex_lock(&service->mutex); |
| 1422 | worker->final_response_inflight = true; |
| 1423 | cbm_mutex_unlock(&service->mutex); |
| 1424 | runtime_worker_disconnect(worker); |
| 1425 | bool sent = runtime_worker_send_status(worker, CBM_DAEMON_RUNTIME_OP_DISCONNECT, true); |
| 1426 | cbm_mutex_lock(&service->mutex); |
| 1427 | worker->final_response_inflight = false; |
| 1428 | cbm_mutex_unlock(&service->mutex); |
| 1429 | return sent; |
| 1430 | } |
| 1431 | |
| 1432 | static void runtime_worker_finish(cbm_daemon_runtime_worker_t *worker) { |
| 1433 | cbm_daemon_runtime_service_t *service = worker->service; |
no test coverage detected