tree: dc8b44f55cc79d1b6578ee9bd32d8cb515dc8d29 [path history] [tgz]
  1. src/
  2. .cargo-checksum.json
  3. Cargo.lock
  4. Cargo.toml
  5. LICENSE-APACHE
  6. LICENSE-MIT
  7. README.md
android/vendor/gix-tempfile-13.1.1/README.md

Use tempfiles to minimize the risk of resource leakage when preparing to overwrite or create a file with new content in a signal-safe way, making the change atomic.

Tempfiles can also be used as locks as only one tempfile can exist at a given path at a time.

  • [x] registered temporary files which are deleted automatically as the process terminates or on drop
    • [x] write to temporary file and persist it under new name
    • [x] close temporary files to convert them into a marker while saving system resources
    • [x] mark paths with a closed temporary file
  • [x] persist temporary files to prevent them from perishing.
  • [x] signal-handler integration with gix to clean lockfiles before the process is aborted.
  • [x] use a temporary file transparently due thanks to implementations of std::io traits