| 994 | } |
| 995 | |
| 996 | static void application_watcher_project_pruned(void *context, const char *project) { |
| 997 | cbm_daemon_application_t *application = context; |
| 998 | if (!application || !project) { |
| 999 | return; |
| 1000 | } |
| 1001 | cbm_mutex_lock(&application->mutex); |
| 1002 | cbm_daemon_application_watch_t *watch = application_find_watch_locked(application, project); |
| 1003 | if (watch) { |
| 1004 | /* The watcher already removed its physical entry. Invalidate every |
| 1005 | * logical subscriber so a later successful index can re-register it. */ |
| 1006 | application_remove_watch_entry_locked(application, watch, false); |
| 1007 | } |
| 1008 | cbm_mutex_unlock(&application->mutex); |
| 1009 | } |
| 1010 | |
| 1011 | static bool application_session_mutation_begin(void *context, const char *project) { |
| 1012 | cbm_daemon_application_session_t *session = context; |
nothing calls this directly
no test coverage detected