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

Function cbm_subprocess_request_cancel

src/foundation/subprocess.c:1405–1423  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1403}
1404
1405bool cbm_subprocess_request_cancel(cbm_subprocess_t *process) {
1406 if (!process) {
1407 return false;
1408 }
1409 int lifecycle = atomic_load_explicit(&process->lifecycle, memory_order_acquire);
1410 for (;;) {
1411 if (lifecycle == CBM_SUBPROCESS_CANCEL_REQUESTED) {
1412 return true;
1413 }
1414 if (lifecycle != CBM_SUBPROCESS_ACTIVE) {
1415 return false;
1416 }
1417 int desired = CBM_SUBPROCESS_CANCEL_REQUESTED;
1418 if (atomic_compare_exchange_weak_explicit(&process->lifecycle, &lifecycle, desired,
1419 memory_order_acq_rel, memory_order_acquire)) {
1420 return true;
1421 }
1422 }
1423}
1424
1425void cbm_subprocess_destroy(cbm_subprocess_t *process) {
1426 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