mirror of
https://github.com/freemkv/libfreemkv.git
synced 2026-10-07 18:13:10 +00:00
Security - Remove the unsafe Vec::set_len over recycled sector buffers — UB reachable from safe code (GHSA-j8ww-f5fg-9pmh, low). Uses Vec::resize; pooling unchanged. CI / tooling - clippy on stable with the MSRV single-sourced from Cargo.toml; cargo-deny dependency-audit gate with first-party git sources allowed (#15); audience-based comment-guard (#17). Docs - README (keydb ownership, BD-J parser count), drive-access transport/reset notes, mux timeline module-doc links.
17 lines
650 B
Markdown
17 lines
650 B
Markdown
# halt
|
|
|
|
## Why `Ordering::Relaxed`
|
|
|
|
`Ordering::Relaxed` is sufficient on both load and store because this flag
|
|
is purely advisory — no other memory operations piggyback on it for
|
|
happens-before ordering. Callers that need to publish data across threads
|
|
do so via channels or other synchronization, not via this bit.
|
|
|
|
## Why 250ms for `POLL_INTERVAL`
|
|
|
|
250 ms is the sweet spot between responsiveness (operator presses Stop,
|
|
sees it take effect within ~quarter-second) and waste (atomic load + clock
|
|
read is cheap but not free at thousands of hertz). It's centralised here
|
|
so the half-dozen halt-polling loops across `io` can't drift apart
|
|
silently.
|