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

Function cbm_daemon_maintenance_monitor_start

src/daemon/frontend.c:142–164  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

140}
141
142cbm_daemon_maintenance_monitor_t *cbm_daemon_maintenance_monitor_start(
143 cbm_version_cohort_manager_t *manager, cbm_daemon_maintenance_cancel_fn cancel,
144 void *cancel_context, int exit_code, const char *participant) {
145 if (!manager || exit_code < 0 || !participant || !participant[0]) {
146 return NULL;
147 }
148 cbm_daemon_maintenance_monitor_t *monitor = calloc(1, sizeof(*monitor));
149 if (!monitor) {
150 return NULL;
151 }
152 monitor->manager = manager;
153 monitor->cancel = cancel;
154 monitor->cancel_context = cancel_context;
155 monitor->exit_code = exit_code;
156 atomic_init(&monitor->stopping, false);
157 int written = snprintf(monitor->participant, sizeof(monitor->participant), "%s", participant);
158 if (written <= 0 || written >= (int)sizeof(monitor->participant) ||
159 cbm_thread_create(&monitor->thread, 0, frontend_maintenance_monitor_worker, monitor) != 0) {
160 free(monitor);
161 return NULL;
162 }
163 return monitor;
164}
165
166bool cbm_daemon_maintenance_monitor_stop(cbm_daemon_maintenance_monitor_t **monitor_io) {
167 if (!monitor_io || !*monitor_io) {

Callers 3

mainFunction · 0.85

Calls 1

cbm_thread_createFunction · 0.85

Tested by

no test coverage detected