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

Function cbm_subprocess_request_cancel

src/foundation/subprocess.c:1372–1390  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1370}
1371
1372bool cbm_subprocess_request_cancel(cbm_subprocess_t *process) {
1373 if (!process) {
1374 return false;
1375 }
1376 int lifecycle = atomic_load_explicit(&process->lifecycle, memory_order_acquire);
1377 for (;;) {
1378 if (lifecycle == CBM_SUBPROCESS_CANCEL_REQUESTED) {
1379 return true;
1380 }
1381 if (lifecycle != CBM_SUBPROCESS_ACTIVE) {
1382 return false;
1383 }
1384 int desired = CBM_SUBPROCESS_CANCEL_REQUESTED;
1385 if (atomic_compare_exchange_weak_explicit(&process->lifecycle, &lifecycle, desired,
1386 memory_order_acq_rel, memory_order_acquire)) {
1387 return true;
1388 }
1389 }
1390}
1391
1392void cbm_subprocess_destroy(cbm_subprocess_t *process) {
1393 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