DoxigAlpha

deinit

Releases the manifest file and frees any memory the Manifest was using. Manifest.hit must be called first. Don't forget to call writeManifest before this!

Function parameters

Parameters

#
self:*Manifest

Type definitions in this namespace

Types

#

Functions in this namespace

Functions

#
obtain
Be sure to call `Manifest.deinit` after successful initialization.
readSmallFile
On operating systems that support symlinks, does a readlink.
writeSmallFile
On operating systems that support symlinks, does a symlink.

This is 128 bits - Even with 2^54 cache entries, the probably of a collision would be under 10^-6

Values

#
bin_digest_len
This is 128 bits - Even with 2^54 cache entries, the probably of a collision would be under 10^-6
hex_digest_len
= bin_digest_len * 2
hasher_init
Initial state with random bytes, that can be copied.

Source

Implementation

#
pub fn deinit(self: *Manifest) void {
    if (self.manifest_file) |file| {
        if (builtin.os.tag == .windows) {
            // See Lock.release for why this is required on Windows
            file.unlock();
        }

        file.close();
    }
    for (self.files.keys()) |*file| {
        file.deinit(self.cache.gpa);
    }
    self.files.deinit(self.cache.gpa);
}