mirror of
https://github.com/euzu/tuliprox.git
synced 2026-10-17 05:12:34 +02:00
fix hls close revision file at reader deadline (#907)
* fix hls close revision file at reader deadline Move the progressive revision reader onto its own task and feed the response stream through a bounded channel. At the deadline the watchdog aborts the reader, so the file handle and revision pin are released even if a stalled client never polls the stream again. Each open revision file now holds its own pin, so GC cannot retire a revision while a handle is open, including one held by an in-flight blocking read. * fix hls close revision file at reader deadline Move the progressive revision reader onto its own task and feed the response stream through a bounded channel. At the deadline the watchdog aborts the reader, so the file handle and revision pin are released even if a stalled client never polls the stream again. Each open revision file now holds its own pin, so GC cannot retire a revision while a handle is open, including one held by an in-flight blocking read. --------- Co-authored-by: euzu <euzu@proton.me>
This commit is contained in:
@@ -118,14 +118,10 @@ jobs:
|
||||
- name: Rust Cache
|
||||
uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
|
||||
|
||||
# Non-test code only. `--all-targets` would additionally compile the
|
||||
# test modules, ~10 of which still use ungated `std::os::unix`
|
||||
# (alias_repository, xtream_repository, bplustree/v3/publish,
|
||||
# iptv/stalker/client, api_utils, api/model/download, setup_api).
|
||||
# Widening this step means gating those first; the recording module
|
||||
# tree is already `--all-targets`-clean on Windows.
|
||||
# `--all-targets` also compiles the test modules, so Unix-only test
|
||||
# helpers and imports must stay behind `#[cfg(unix)]`.
|
||||
- name: Check Windows build
|
||||
run: cargo check --package tuliprox
|
||||
run: cargo check --workspace --all-targets
|
||||
|
||||
# Job 3: Build and Test (takes longer)
|
||||
test:
|
||||
|
||||
Reference in New Issue
Block a user