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

Function cbm_subprocess_request_cancel

src/foundation/subprocess.c:1274–1292  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1272}
1273
1274bool cbm_subprocess_request_cancel(cbm_subprocess_t *process) {
1275 if (!process) {
1276 return false;
1277 }
1278 int lifecycle = atomic_load_explicit(&process->lifecycle, memory_order_acquire);
1279 for (;;) {
1280 if (lifecycle == CBM_SUBPROCESS_CANCEL_REQUESTED) {
1281 return true;
1282 }
1283 if (lifecycle != CBM_SUBPROCESS_ACTIVE) {
1284 return false;
1285 }
1286 int desired = CBM_SUBPROCESS_CANCEL_REQUESTED;
1287 if (atomic_compare_exchange_weak_explicit(&process->lifecycle, &lifecycle, desired,
1288 memory_order_acq_rel, memory_order_acquire)) {
1289 return true;
1290 }
1291 }
1292}
1293
1294void cbm_subprocess_destroy(cbm_subprocess_t *process) {
1295 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