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

Function application_job_publish

src/daemon/application.c:1424–1455  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1422}
1423
1424static void application_job_publish(cbm_daemon_application_job_t *job,
1425 application_job_execution_t *execution) {
1426 if (!execution->response) {
1427 execution->response = application_job_failure_response(
1428 execution->have_last_result ? &execution->last_result : NULL,
1429 execution->last_log[0] ? execution->last_log : NULL);
1430 }
1431 cbm_daemon_application_t *application = job->application;
1432 cbm_mutex_lock(&application->mutex);
1433 job->response = execution->response;
1434 job->successful = execution->successful;
1435 job->cancelled = execution->have_last_result && execution->last_result.cancellation_requested;
1436 job->supervision_failed = execution->supervision_failed ||
1437 (execution->unsafe_terminal && execution->have_last_result &&
1438 !execution->last_result.cancellation_requested);
1439 job->terminal = true;
1440 job->thread_done = true;
1441 for (cbm_daemon_application_session_t *session = application->sessions; session;
1442 session = session->next) {
1443 if (session->auto_index_job != job || !session->auto_index_subscribed) {
1444 continue;
1445 }
1446 session->auto_index_job = NULL;
1447 session->auto_index_subscribed = false;
1448 application_job_unsubscribe_locked(job);
1449 if (job->successful) {
1450 application_refresh_watch_locked(session);
1451 }
1452 }
1453 application_auto_index_retry_pending_locked(application);
1454 cbm_mutex_unlock(&application->mutex);
1455}
1456
1457static void *application_job_thread(void *opaque) {
1458 cbm_daemon_application_job_t *job = opaque;

Callers 1

application_job_threadFunction · 0.85

Tested by

no test coverage detected