From 6953ff95ebcc0bbf7acfc3b91313771340d9250d Mon Sep 17 00:00:00 2001 From: Alexandros Naskos Date: Mon, 29 Jun 2020 02:03:51 +0300 Subject: [PATCH] Use apge allocator again after it was fixed --- src/document_store.zig | 14 +++++--------- src/main.zig | 7 ++----- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/document_store.zig b/src/document_store.zig index 2a5d518..6997e46 100644 --- a/src/document_store.zig +++ b/src/document_store.zig @@ -138,20 +138,16 @@ fn loadPackages(context: LoadPackagesContext) !void { try std.fs.copyFileAbsolute(build_runner_path, target_path, .{}); defer std.fs.deleteFileAbsolute(target_path) catch {}; - // TODO Using the page allocator directly here causes a segfault - var arena = std.heap.ArenaAllocator.init(allocator); - defer arena.deinit(); const zig_run_result = try std.ChildProcess.exec(.{ - .allocator = &arena.allocator, + .allocator = allocator, .argv = &[_][]const u8{ zig_exe_path, "run", "build_runner.zig" }, .cwd = directory_path, }); - // TODO Add those back in when we stop using the arena - // defer { - // allocator.free(zig_run_result.stdout); - // allocator.free(zig_run_result.stderr); - // } + defer { + allocator.free(zig_run_result.stdout); + allocator.free(zig_run_result.stderr); + } switch (zig_run_result.term) { .Exited => |exit_code| { diff --git a/src/main.zig b/src/main.zig index 66cc4e1..bce110a 100644 --- a/src/main.zig +++ b/src/main.zig @@ -1349,11 +1349,8 @@ fn processJsonRpc(parser: *std.json.Parser, json: []const u8, config: Config, ke process.stdin.?.close(); process.stdin = null; - // TODO readAllAlloc degfaults with the page allocator - var arena = std.heap.ArenaAllocator.init(allocator); - defer arena.deinit(); - const stdout_bytes = try process.stdout.?.reader().readAllAlloc(&arena.allocator, std.math.maxInt(usize)); - // defer allocator.free(stdout_bytes); + const stdout_bytes = try process.stdout.?.reader().readAllAlloc(allocator, std.math.maxInt(usize)); + defer allocator.free(stdout_bytes); switch (try process.wait()) { .Exited => |code| if (code == 0) {