| 777 | } |
| 778 | |
| 779 | bool cbm_daemon_job_completed(cbm_daemon_coordinator_t *coordinator, const char *project_key, |
| 780 | uint64_t now_ms) { |
| 781 | (void)now_ms; |
| 782 | if (!coordinator || !project_key) { |
| 783 | return false; |
| 784 | } |
| 785 | cbm_daemon_job_t *free_after_unlock = NULL; |
| 786 | cbm_mutex_lock(&coordinator->mutex); |
| 787 | bool removed = terminal_job_locked(coordinator, project_key, false, &free_after_unlock); |
| 788 | cbm_mutex_unlock(&coordinator->mutex); |
| 789 | free_job(free_after_unlock); |
| 790 | return removed; |
| 791 | } |
| 792 | |
| 793 | bool cbm_daemon_should_exit(cbm_daemon_coordinator_t *coordinator, uint64_t now_ms) { |
| 794 | (void)now_ms; |
no test coverage detected