aboutsummaryrefslogtreecommitdiff
path: root/src/Module.zig
diff options
context:
space:
mode:
authorTom Read Cutting <moosichu@users.noreply.github.com>2022-04-22 16:12:51 +0100
committerGitHub <noreply@github.com>2022-04-22 11:12:51 -0400
commita430630002bf02162ccbf8d3eb10fd73e490cefd (patch)
treeb25bd6e1665a9207b88e5aaac8e5c4fa10078ac1 /src/Module.zig
parent42e81cd81b8a0167c1a21aadf554cea2d882eadd (diff)
downloadzig-a430630002bf02162ccbf8d3eb10fd73e490cefd.tar.gz
zig-a430630002bf02162ccbf8d3eb10fd73e490cefd.zip
Fix C include files not being in `whole` cache (#11365)
Diffstat (limited to 'src/Module.zig')
-rw-r--r--src/Module.zig4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/Module.zig b/src/Module.zig
index 1119d73ab0..e637a55dfb 100644
--- a/src/Module.zig
+++ b/src/Module.zig
@@ -3855,6 +3855,8 @@ pub fn semaFile(mod: *Module, file: *File) SemaError!void {
});
errdefer gpa.free(resolved_path);
+ mod.comp.whole_cache_manifest_mutex.lock();
+ defer mod.comp.whole_cache_manifest_mutex.unlock();
try man.addFilePostContents(resolved_path, source.bytes, source.stat);
}
} else {
@@ -4336,6 +4338,8 @@ pub fn embedFile(mod: *Module, cur_file: *File, rel_file_path: []const u8) !*Emb
if (mod.comp.whole_cache_manifest) |man| {
const copied_resolved_path = try gpa.dupe(u8, resolved_path);
errdefer gpa.free(copied_resolved_path);
+ mod.comp.whole_cache_manifest_mutex.lock();
+ defer mod.comp.whole_cache_manifest_mutex.unlock();
try man.addFilePostContents(copied_resolved_path, bytes, stat);
}