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

Function main_local_transition_close

src/main.c:1359–1377  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1357}
1358
1359static bool main_local_transition_close(cbm_daemon_ipc_local_transition_t **transition) {
1360 uint64_t deadline = main_deadline_after(MAIN_COORDINATION_CLEANUP_MS);
1361 while (transition && *transition) {
1362 /* A failed release always RETAINS the transition and is retriable by
1363 * contract: the Windows release transition must briefly try-hold the
1364 * shared startup-v2/legacy gates, so concurrent one-shot teardowns
1365 * legitimately collide and succeed on retry. Success consumes the
1366 * transition; only never-finishing cleanup is a failure, and the
1367 * deadline escalation below owns that. */
1368 (void)cbm_daemon_ipc_local_transition_release(transition);
1369 if (*transition) {
1370 if (cbm_now_ms() >= deadline) {
1371 main_coordination_cleanup_fail_stop("local_transition_cleanup");
1372 }
1373 cbm_usleep(1000);
1374 }
1375 }
1376 return true;
1377}
1378
1379static bool main_session_context(const char *preferred_root, char root_out[MAIN_PATH_CAP],
1380 char allowed_out[MAIN_PATH_CAP], const char **allowed_out_ptr) {

Callers 1

mainFunction · 0.85

Calls 4

main_deadline_afterFunction · 0.85
cbm_now_msFunction · 0.85

Tested by

no test coverage detected