| 11484 | return; |
| 11485 | } |
| 11486 | trace_event(s, trace_id, "prefill failed: %s", err); |
| 11487 | send_prefill_failure_response(s, j, &progress, ctx_span, req_flags, err); |
| 11488 | return; |
| 11489 | } |
| 11490 | free(disk_cache_path); |
| 11491 | if (job_cancelled(j)) { |
| 11492 | ds4_session_set_progress(slot->session, NULL, NULL); |
| 11493 | ds4_session_set_display_progress(slot->session, NULL, NULL); |
| 11494 | request_live_state_clear(s, slot); |
| 11495 | trace_event(s, trace_id, "cancelled after prefill"); |
| 11496 | ds4_tokens_free(&effective_prompt); |
| 11497 | return; |
| 11498 | } |
| 11499 | /* Once a non-live request wins, old protocol live bindings are stale. Keep |
| 11500 | * a binding only when this request explicitly continued from it. */ |
| 11501 | if (!responses_live_continuation) responses_live_clear(s, slot); |
| 11502 | if (!anthropic_live_continuation) anthropic_live_clear(s, slot); |
| 11503 | if (!thinking_live_continuation) thinking_live_clear(s, slot); |
| 11504 | ds4_session_set_progress(slot->session, NULL, NULL); |
no test coverage detected