authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-09-07 15:29:21+02:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-09-07 22:42:59+02:00
log8ef1c62f2efc4a43e8b38d3cacf4fd930add7f46
tree509f0216203abde559a0c5a9f654b3df8a3bb66d
parent215fce8c51662970d34ae1f4bf1cd043071fea8a

macho: properly close file handles owned by the linker in deinit()


1 files changed, 2 insertions(+), 9 deletions(-)

src/link/MachO.zig+2-9
......@@ -3013,6 +3013,7 @@ pub fn deinit(self: *MachO) void {
30133013 }
30143014
30153015 if (self.d_sym) |*d_sym| {
3016 d_sym.file.close();
30163017 d_sym.deinit(gpa);
30173018 }
30183019
......@@ -3041,6 +3042,7 @@ pub fn deinit(self: *MachO) void {
30413042 self.objects.deinit(gpa);
30423043
30433044 for (self.archives.items) |*archive| {
3045 archive.file.close();
30443046 archive.deinit(gpa);
30453047 }
30463048 self.archives.deinit(gpa);
......@@ -3086,15 +3088,6 @@ pub fn deinit(self: *MachO) void {
30863088 self.atom_by_index_table.deinit(gpa);
30873089}
30883090
3089pub fn closeFiles(self: MachO) void {
3090 for (self.archives.items) |archive| {
3091 archive.file.close();
3092 }
3093 if (self.d_sym) |ds| {
3094 ds.file.close();
3095 }
3096}
3097
30983091fn freeAtom(self: *MachO, atom: *Atom, sect_id: u8, owns_atom: bool) void {
30993092 log.debug("freeAtom {*}", .{atom});
31003093 if (!owns_atom) {