Function writeManifest [src]
If want_shared_lock is true, this function automatically downgrades the
lock from exclusive to shared.
Prototype
pub fn writeManifest(self: *Manifest) !void
Parameters
self: *Manifest
Source
pub fn writeManifest(self: *Manifest) !void {
assert(self.have_exclusive_lock);
const manifest_file = self.manifest_file.?;
if (self.manifest_dirty) {
self.manifest_dirty = false;
var buffer: [4000]u8 = undefined;
var fw = manifest_file.writer(&buffer);
writeDirtyManifestToStream(self, &fw) catch |err| switch (err) {
error.WriteFailed => return fw.err.?,
else => |e| return e,
};
}
if (self.want_shared_lock) {
try self.downgradeToSharedLock();
}
}