mirror of
https://github.com/freemkv/freemkv-keysources.git
synced 2026-10-07 18:13:11 +00:00
1c293777808d0fad4e991c5c195528c6d7d6d822
cached_db held self.cache locked across the full KeyDb::load_counted parse of the ~62 MiB keydb, so a reparse (triggered by a changed mtime) stalled every other worker waiting on the cache. Take a brief lock for the fast-path settled-cache-hit check, release it, parse outside the lock, then re-acquire and double-check: if a peer installed the same settled stamp while we parsed, adopt their entry and drop our redundant parse rather than racing a lost update. Stamp and bytes still come from the one already-open file handle, preserving the one-open-one-identity invariant.
freemkv-keysources
Pluggable AACS key sources (keydb, online key service) for
libfreemkv. Each source looks a disc up
and hands libfreemkv its terminal Unit Keys via get_unit_keys; the library
does all derivation.
License
MIT — see LICENSE.
Languages
Rust
100%