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

Function application_job_wait_for_session

src/daemon/application.c:2151–2173  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2149}
2150
2151static char *application_job_wait_for_session(cbm_daemon_application_session_t *session,
2152 cbm_daemon_application_job_t *job) {
2153 cbm_daemon_application_t *application = session->application;
2154 for (;;) {
2155 cbm_mutex_lock(&application->mutex);
2156 if (session->active_job != job || !session->active_job_subscribed) {
2157 cbm_mutex_unlock(&application->mutex);
2158 return cbm_mcp_text_result("index operation cancelled for this session", true);
2159 }
2160 if (job->terminal) {
2161 char *response = job->response ? strdup(job->response) : NULL;
2162 session->active_job = NULL;
2163 session->active_job_subscribed = false;
2164 application_job_unsubscribe_locked(job);
2165 cbm_mutex_unlock(&application->mutex);
2166 application_jobs_reap_completed(application);
2167 return response ? response
2168 : cbm_mcp_text_result("index coordinator lost its result", true);
2169 }
2170 cbm_mutex_unlock(&application->mutex);
2171 cbm_usleep(APPLICATION_JOB_POLL_US);
2172 }
2173}
2174
2175static char *application_index_execute(void *context, const char *root_path,
2176 const char *args_json) {

Callers 1

Calls 5

cbm_mutex_lockFunction · 0.85
cbm_mutex_unlockFunction · 0.85
cbm_mcp_text_resultFunction · 0.85

Tested by

no test coverage detected