rustc/vendor/gix-tempfile-15.0.0
2025-02-17 11:14:05 +01:00
..
src New upstream version 1.84.0+dfsg1 2025-01-11 15:57:26 +01:00
.cargo-checksum.json New upstream version 1.85.0~beta.9+dfsg1 2025-02-17 11:14:05 +01:00
Cargo.lock New upstream version 1.85.0~beta.9+dfsg1 2025-02-17 11:14:05 +01:00
Cargo.toml New upstream version 1.84.0+dfsg1 2025-01-11 15:57:26 +01:00
LICENSE-APACHE New upstream version 1.84.0+dfsg1 2025-01-11 15:57:26 +01:00
LICENSE-MIT New upstream version 1.84.0+dfsg1 2025-01-11 15:57:26 +01:00
README.md New upstream version 1.84.0+dfsg1 2025-01-11 15:57:26 +01:00

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.

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