gix-utils v0.3.4
New Features
- add
rngmodule togix-utilsfor better inter-process seeding
This should avoid flaky capability tests of multiple process acting on the
same repository.
Bug Fixes
-
seed fast pseudo-random numbers to differ across processes
gix-utilsandgix-fsdrew fast pseudo-random numbers fromfastrand's
global generators, whose per-thread seed is derived only from values that
can coincide between separate processes (notably small thread IDs). Two
concurrently running processes could therefore produce identical sequences,
which weakens backoff jitter (meant to avoid a thundering herd of retries)
and can make the filesystem capability probes collide on their temporary
file names -- e.g. spuriously reporting that symlinks are unsupported (#1789).Add a
gix_utils::rngmodule that draws from a per-threadfastrand::Rng
seeded from a high-entropy OS source viagetrandom, and route the affected
call sites (backoff jitter and thegix-fscapability probes) through it.getrandomis a target-specific dependency that is excluded on
wasm32-unknown-unknown, which has no entropy backend by default and runs a
single process; there a best-effort seed is used that deliberately avoids
Instant::now()(which panics on that target).For #1816
Commit Statistics
- 5 commits contributed to the release.
- 50 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized