authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-03-16 18:09:23+01:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-03-18 21:52:52+01:00
loge35c8a2fd6bb0eb16b45e76a39f4602f1161f357
tree31eb0552afc8f284604dc3bf8e735c67bf8cce3d
parenta23ef3783bb5357376acdce12f73b0285636d6cf

link: use std.os.ptrace wrapper on linux


1 files changed, 4 insertions(+), 10 deletions(-)

src/link.zig+4-10
......@@ -389,11 +389,8 @@ pub const File = struct {
389389 try emit.directory.handle.copyFile(emit.sub_path, emit.directory.handle, tmp_sub_path, .{});
390390 try emit.directory.handle.rename(tmp_sub_path, emit.sub_path);
391391 switch (builtin.os.tag) {
392 .linux => {
393 switch (std.os.errno(std.os.linux.ptrace(std.os.linux.PTRACE.ATTACH, pid, 0, 0, 0))) {
394 .SUCCESS => {},
395 else => |errno| log.warn("ptrace failure: {s}", .{@tagName(errno)}),
396 }
392 .linux => std.os.ptrace(std.os.linux.PTRACE.ATTACH, pid, 0, 0) catch |err| {
393 log.warn("ptrace failure: {s}", .{@errorName(err)});
397394 },
398395 else => return error.HotSwapUnavailableOnHostOperatingSystem,
399396 }
......@@ -430,11 +427,8 @@ pub const File = struct {
430427
431428 if (base.child_pid) |pid| {
432429 switch (builtin.os.tag) {
433 .linux => {
434 switch (std.os.errno(std.os.linux.ptrace(std.os.linux.PTRACE.DETACH, pid, 0, 0, 0))) {
435 .SUCCESS => {},
436 else => |errno| log.warn("ptrace failure: {s}", .{@tagName(errno)}),
437 }
430 .linux => std.os.ptrace(std.os.linux.PTRACE.DETACH, pid, 0, 0) catch |err| {
431 log.warn("ptrace failure: {s}", .{@errorName(err)});
438432 },
439433 else => return error.HotSwapUnavailableOnHostOperatingSystem,
440434 }