aboutsummaryrefslogtreecommitdiff
path: root/src/link/MachO/Atom.zig
diff options
context:
space:
mode:
authorMatthew Lugg <mlugg@mlugg.co.uk>2025-12-06 15:27:57 +0000
committerMatthew Lugg <mlugg@mlugg.co.uk>2025-12-22 12:55:16 +0000
commit18bc7e802f8b4460216ae2169f81abddd108599f (patch)
treee0ae2276660fd37218bd4c66c4f33b8aabe10f7d /src/link/MachO/Atom.zig
parent9ae4e38ca27e1b14e84f58594b8be4513f1fcfbe (diff)
downloadzig-18bc7e802f8b4460216ae2169f81abddd108599f.tar.gz
zig-18bc7e802f8b4460216ae2169f81abddd108599f.zip
compiler: replace thread pool with `std.Io`
Eliminate the `std.Thread.Pool` used in the compiler for concurrency and asynchrony, in favour of the new `std.Io.async` and `std.Io.concurrent` primitives. This removes the last usage of `std.Thread.Pool` in the Zig repository.
Diffstat (limited to 'src/link/MachO/Atom.zig')
-rw-r--r--src/link/MachO/Atom.zig5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/link/MachO/Atom.zig b/src/link/MachO/Atom.zig
index a8c1ed843e..8f0f801949 100644
--- a/src/link/MachO/Atom.zig
+++ b/src/link/MachO/Atom.zig
@@ -555,9 +555,10 @@ fn reportUndefSymbol(self: Atom, rel: Relocation, macho_file: *MachO) !bool {
const file = self.getFile(macho_file);
const ref = file.getSymbolRef(rel.target, macho_file);
if (ref.getFile(macho_file) == null) {
- macho_file.undefs_mutex.lock();
- defer macho_file.undefs_mutex.unlock();
const gpa = macho_file.base.comp.gpa;
+ const io = macho_file.base.comp.io;
+ macho_file.undefs_mutex.lockUncancelable(io);
+ defer macho_file.undefs_mutex.unlock(io);
const gop = try macho_file.undefs.getOrPut(gpa, file.getGlobals()[rel.target]);
if (!gop.found_existing) {
gop.value_ptr.* = .{ .refs = .{} };