Commit c172877b81

saurabh <tech@saurabh.mozmail.com>
2024-12-11 00:06:51
std.posix: map errno 6 (ENXIO) to error.NoDevice in write() (#22113)
Co-authored-by: Saurabh <saurabhm@proton.me>
1 parent 414fc3b
Changed files (1)
lib
lib/std/posix.zig
@@ -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),
         }
     }