Planning from a mapping of a clone of the locked descriptor shared its flock: a process forked by another thread meanwhile (any Command) kept the lock alive for a moment after the editor was dropped, and a test that reopened the file at once saw Error::Locked (once in a full run). On Linux plan through /proc/self/fd (a new open file description of the same file, which still follows a rename); elsewhere keep the clone. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
clawhdf5
Pure-Rust HDF5 reader/writer — no C dependencies.
Features
- Read and write HDF5 files entirely in Rust
- Memory-mapped I/O for large files (
mmapfeature, enabled by default) - Parallel chunk reads via Rayon (
parallelfeature) - Lazy dataset access for minimal memory usage
- h5py-compatible file output
Usage
use clawhdf5::File;
let file = File::open("data.h5").unwrap();
let dataset = file.dataset("/group/data").unwrap();
let values: Vec<f64> = dataset.read_1d().unwrap();
License
MIT