diff --git a/src/subprocess.zig b/src/subprocess.zig index b941594..93f69e2 100644 --- a/src/subprocess.zig +++ b/src/subprocess.zig @@ -136,7 +136,7 @@ const Proc = struct { errdefer a.destroy(self); self.* = .{ .a = a, - .receiver = Receiver.init(receive, self), + .receiver = Receiver.init(receive, Proc.deinit, self), .args = args, .parent = tp.self_pid().clone(), .child = child, @@ -174,7 +174,6 @@ const Proc = struct { } fn receive(self: *Proc, _: tp.pid_ref, m: tp.message) tp.result { - errdefer self.deinit(); var bytes: []const u8 = ""; var err: i64 = 0; var err_msg: []const u8 = "";