Skip to content

Consider Cleanup Operations #5

@mitsuhiko

Description

@mitsuhiko

The crate currently does not attempt to clean up temporary files left behind in some circumstances. Situations where files could be left behind:

Unix:

  • self_replace on Unix writes one temporary file next to the executable under a temporary name to support an atomic write. There is no API I'm aware of that would make it possible to avoid this issue.

Windows:

  • In general all operations on windows can lose files, but in most cases those files are left in a temporary folder. Only if the temporary folder is not on the same value as the target exe, then files can be left over. In case a temporary folder cannot be used:
    • self_delete can leave both the current exe dangling (__relocated__) as well as the garbage collection binary (__selfdelete__)
    • self_replace has all the issues of self_delete but top of that the atomic write and rename file (__temp__) can be lost like on unix

For operations outside of a protected folder (self_delete_outside_path) the temporaries can be left in another location than the one of the executable.

All these losses are guarded and will only happen on killing the process or shutting down the machine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions