fn dup2(ev: *Evented, old_fd: c.fd_t, new_fd: c.fd_t) DupError!void
ev: *Evented
old_fd: c.fd_t
new_fd: c.fd_t
4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488
fn dup2(ev: *Evented, old_fd: c.fd_t, new_fd: c.fd_t) DupError!void { _ = ev; while (true) switch (c.errno(c.dup2(old_fd, new_fd))) { .SUCCESS => return, .BUSY, .INTR => {}, .INVAL => |err| return errnoBug(err), // invalid parameters .BADF => |err| return errnoBug(err), // use after free .MFILE => return error.ProcessFdQuotaExceeded, .NOMEM => return error.SystemResources, else => |err| return unexpectedErrno(err), }; }