std.posix: map errno 6 (ENXIO) to error.NoDevice in write() (#22113)

Co-authored-by: Saurabh <saurabhm@proton.me>
This commit is contained in:
saurabh 2024-12-11 04:36:51 +05:30 committed by GitHub
parent 414fc3b207
commit c172877b81
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1191,6 +1191,9 @@ pub const WriteError = error{
/// This error occurs in Linux if the process being written to
/// no longer exists.
ProcessNotFound,
/// This error occurs when a device gets disconnected before or mid-flush
/// while it's being written to - errno(6): No such device or address.
NoDevice,
} || UnexpectedError;
/// Write to a file descriptor.
@ -1270,6 +1273,7 @@ pub fn write(fd: fd_t, bytes: []const u8) WriteError!usize {
.PIPE => return error.BrokenPipe,
.CONNRESET => return error.ConnectionResetByPeer,
.BUSY => return error.DeviceBusy,
.NXIO => return error.NoDevice,
else => |err| return unexpectedErrno(err),
}
}