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

Function application_job_publish

src/daemon/application.c:1480–1511  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1478}
1479
1480static void application_job_publish(cbm_daemon_application_job_t *job,
1481 application_job_execution_t *execution) {
1482 if (!execution->response) {
1483 execution->response = application_job_failure_response(
1484 execution->have_last_result ? &execution->last_result : NULL,
1485 execution->last_log[0] ? execution->last_log : NULL);
1486 }
1487 cbm_daemon_application_t *application = job->application;
1488 cbm_mutex_lock(&application->mutex);
1489 job->response = execution->response;
1490 job->successful = execution->successful;
1491 job->cancelled = execution->have_last_result && execution->last_result.cancellation_requested;
1492 job->supervision_failed = execution->supervision_failed ||
1493 (execution->unsafe_terminal && execution->have_last_result &&
1494 !execution->last_result.cancellation_requested);
1495 job->terminal = true;
1496 job->thread_done = true;
1497 for (cbm_daemon_application_session_t *session = application->sessions; session;
1498 session = session->next) {
1499 if (session->auto_index_job != job || !session->auto_index_subscribed) {
1500 continue;
1501 }
1502 session->auto_index_job = NULL;
1503 session->auto_index_subscribed = false;
1504 application_job_unsubscribe_locked(job);
1505 if (job->successful) {
1506 application_refresh_watch_locked(session);
1507 }
1508 }
1509 application_auto_index_retry_pending_locked(application);
1510 cbm_mutex_unlock(&application->mutex);
1511}
1512
1513static void *application_job_thread(void *opaque) {
1514 cbm_daemon_application_job_t *job = opaque;

Callers 1

application_job_threadFunction · 0.85

Tested by

no test coverage detected