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

Function cbm_subprocess_request_cancel

src/foundation/subprocess.c:1419–1437  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1417}
1418
1419bool cbm_subprocess_request_cancel(cbm_subprocess_t *process) {
1420 if (!process) {
1421 return false;
1422 }
1423 int lifecycle = atomic_load_explicit(&process->lifecycle, memory_order_acquire);
1424 for (;;) {
1425 if (lifecycle == CBM_SUBPROCESS_CANCEL_REQUESTED) {
1426 return true;
1427 }
1428 if (lifecycle != CBM_SUBPROCESS_ACTIVE) {
1429 return false;
1430 }
1431 int desired = CBM_SUBPROCESS_CANCEL_REQUESTED;
1432 if (atomic_compare_exchange_weak_explicit(&process->lifecycle, &lifecycle, desired,
1433 memory_order_acq_rel, memory_order_acquire)) {
1434 return true;
1435 }
1436 }
1437}
1438
1439void cbm_subprocess_destroy(cbm_subprocess_t *process) {
1440 if (!process || atomic_load_explicit(&process->lifecycle, memory_order_acquire) !=

Callers 10

watcher_git_runFunction · 0.85
cbm_watcher_watchFunction · 0.85
cbm_watcher_unwatchFunction · 0.85
cancel_active_git_entryFunction · 0.85
cbm_watcher_stopFunction · 0.85
ordered_log_callbackFunction · 0.85
test_subprocess.cFile · 0.85

Calls

no outgoing calls

Tested by 1

ordered_log_callbackFunction · 0.68