MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / cbm_daemon_runtime_request_stop

Function cbm_daemon_runtime_request_stop

src/daemon/runtime.c:2606–2630  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2604}
2605
2606bool cbm_daemon_runtime_request_stop(const cbm_daemon_ipc_endpoint_t *endpoint,
2607 const cbm_daemon_build_identity_t *identity,
2608 uint32_t timeout_ms,
2609 cbm_daemon_runtime_stop_result_t *result_out) {
2610 if (!result_out) {
2611 return false;
2612 }
2613 memset(result_out, 0, sizeof(*result_out));
2614 uint8_t *payload = NULL;
2615 if (!runtime_control_request_send(endpoint, identity, CBM_DAEMON_RUNTIME_OP_STOP, timeout_ms,
2616 CBM_DAEMON_STOP_RESPONSE_SIZE, &payload)) {
2617 return false;
2618 }
2619 result_out->accepted = (payload[1] & 0x01U) != 0U;
2620 result_out->busy = (payload[1] & 0x02U) != 0U;
2621 result_out->committed_clients = (uint16_t)(((uint16_t)payload[2] << 8) | payload[3]);
2622 result_out->client_count = payload[4] > CBM_DAEMON_CONTROL_CLIENT_CAP
2623 ? (uint8_t)CBM_DAEMON_CONTROL_CLIENT_CAP
2624 : payload[4];
2625 for (size_t index = 0; index < CBM_DAEMON_CONTROL_CLIENT_CAP; index++) {
2626 result_out->client_pids[index] = runtime_control_read_u32(payload + 8U + index * 4U);
2627 }
2628 free(payload);
2629 return true;
2630}
2631
2632cbm_daemon_runtime_client_t *cbm_daemon_runtime_client_connect(
2633 const cbm_daemon_ipc_endpoint_t *endpoint, const cbm_daemon_build_identity_t *identity,

Callers 2

main_run_daemon_ctlFunction · 0.85

Calls 2

runtime_control_read_u32Function · 0.85

Tested by

no test coverage detected