authorgravatar for git@l4.pmLuna <git@l4.pm> 2020-06-29 16:23:58-03:00
committergravatar for git@l4.pmLuna <git@l4.pm> 2020-06-29 16:23:58-03:00
log3f5b2d6c51b983ae66ad20124924378c2291cd67
treec6f0a5be3dce342fa1d2b1697848132ad0a17788
parentf47c6d3c6b5325ae682e50950765d352b2929126

std.os: map EBADF to errors on WASI read/write syscalls


1 files changed, 8 insertions(+), 8 deletions(-)

lib/std/os.zig+8-8
...@@ -329,7 +329,7 @@ pub fn read(fd: fd_t, buf: []u8) ReadError!usize {...@@ -329,7 +329,7 @@ pub fn read(fd: fd_t, buf: []u8) ReadError!usize {
329 wasi.EINVAL => unreachable,329 wasi.EINVAL => unreachable,
330 wasi.EFAULT => unreachable,330 wasi.EFAULT => unreachable,
331 wasi.EAGAIN => unreachable,331 wasi.EAGAIN => unreachable,
332 wasi.EBADF => unreachable, // Always a race condition.332 wasi.EBADF => return error.NotOpenForReading, // Can be a race condition.
333 wasi.EIO => return error.InputOutput,333 wasi.EIO => return error.InputOutput,
334 wasi.EISDIR => return error.IsDir,334 wasi.EISDIR => return error.IsDir,
335 wasi.ENOBUFS => return error.SystemResources,335 wasi.ENOBUFS => return error.SystemResources,
...@@ -398,7 +398,7 @@ pub fn readv(fd: fd_t, iov: []const iovec) ReadError!usize {...@@ -398,7 +398,7 @@ pub fn readv(fd: fd_t, iov: []const iovec) ReadError!usize {
398 wasi.EINVAL => unreachable,398 wasi.EINVAL => unreachable,
399 wasi.EFAULT => unreachable,399 wasi.EFAULT => unreachable,
400 wasi.EAGAIN => unreachable, // currently not support in WASI400 wasi.EAGAIN => unreachable, // currently not support in WASI
401 wasi.EBADF => unreachable, // always a race condition401 wasi.EBADF => return error.NotOpenForReading, // can be a race condition
402 wasi.EIO => return error.InputOutput,402 wasi.EIO => return error.InputOutput,
403 wasi.EISDIR => return error.IsDir,403 wasi.EISDIR => return error.IsDir,
404 wasi.ENOBUFS => return error.SystemResources,404 wasi.ENOBUFS => return error.SystemResources,
...@@ -458,7 +458,7 @@ pub fn pread(fd: fd_t, buf: []u8, offset: u64) PReadError!usize {...@@ -458,7 +458,7 @@ pub fn pread(fd: fd_t, buf: []u8, offset: u64) PReadError!usize {
458 wasi.EINVAL => unreachable,458 wasi.EINVAL => unreachable,
459 wasi.EFAULT => unreachable,459 wasi.EFAULT => unreachable,
460 wasi.EAGAIN => unreachable,460 wasi.EAGAIN => unreachable,
461 wasi.EBADF => unreachable, // Always a race condition.461 wasi.EBADF => return error.NotOpenForReading, // Can be a race condition.
462 wasi.EIO => return error.InputOutput,462 wasi.EIO => return error.InputOutput,
463 wasi.EISDIR => return error.IsDir,463 wasi.EISDIR => return error.IsDir,
464 wasi.ENOBUFS => return error.SystemResources,464 wasi.ENOBUFS => return error.SystemResources,
...@@ -597,7 +597,7 @@ pub fn preadv(fd: fd_t, iov: []const iovec, offset: u64) PReadError!usize {...@@ -597,7 +597,7 @@ pub fn preadv(fd: fd_t, iov: []const iovec, offset: u64) PReadError!usize {
597 wasi.EINVAL => unreachable,597 wasi.EINVAL => unreachable,
598 wasi.EFAULT => unreachable,598 wasi.EFAULT => unreachable,
599 wasi.EAGAIN => unreachable,599 wasi.EAGAIN => unreachable,
600 wasi.EBADF => unreachable, // always a race condition600 wasi.EBADF => return error.NotOpenForReading, // can be a race condition
601 wasi.EIO => return error.InputOutput,601 wasi.EIO => return error.InputOutput,
602 wasi.EISDIR => return error.IsDir,602 wasi.EISDIR => return error.IsDir,
603 wasi.ENOBUFS => return error.SystemResources,603 wasi.ENOBUFS => return error.SystemResources,
...@@ -691,7 +691,7 @@ pub fn write(fd: fd_t, bytes: []const u8) WriteError!usize {...@@ -691,7 +691,7 @@ pub fn write(fd: fd_t, bytes: []const u8) WriteError!usize {
691 wasi.EINVAL => unreachable,691 wasi.EINVAL => unreachable,
692 wasi.EFAULT => unreachable,692 wasi.EFAULT => unreachable,
693 wasi.EAGAIN => unreachable,693 wasi.EAGAIN => unreachable,
694 wasi.EBADF => unreachable, // Always a race condition.694 wasi.EBADF => return error.NotOpenForWriting, // can be a race condition.
695 wasi.EDESTADDRREQ => unreachable, // `connect` was never called.695 wasi.EDESTADDRREQ => unreachable, // `connect` was never called.
696 wasi.EDQUOT => return error.DiskQuota,696 wasi.EDQUOT => return error.DiskQuota,
697 wasi.EFBIG => return error.FileTooBig,697 wasi.EFBIG => return error.FileTooBig,
...@@ -768,7 +768,7 @@ pub fn writev(fd: fd_t, iov: []const iovec_const) WriteError!usize {...@@ -768,7 +768,7 @@ pub fn writev(fd: fd_t, iov: []const iovec_const) WriteError!usize {
768 wasi.EINVAL => unreachable,768 wasi.EINVAL => unreachable,
769 wasi.EFAULT => unreachable,769 wasi.EFAULT => unreachable,
770 wasi.EAGAIN => unreachable,770 wasi.EAGAIN => unreachable,
771 wasi.EBADF => unreachable, // Always a race condition.771 wasi.EBADF => return error.NotOpenForWriting, // can be a race condition.
772 wasi.EDESTADDRREQ => unreachable, // `connect` was never called.772 wasi.EDESTADDRREQ => unreachable, // `connect` was never called.
773 wasi.EDQUOT => return error.DiskQuota,773 wasi.EDQUOT => return error.DiskQuota,
774 wasi.EFBIG => return error.FileTooBig,774 wasi.EFBIG => return error.FileTooBig,
...@@ -847,7 +847,7 @@ pub fn pwrite(fd: fd_t, bytes: []const u8, offset: u64) PWriteError!usize {...@@ -847,7 +847,7 @@ pub fn pwrite(fd: fd_t, bytes: []const u8, offset: u64) PWriteError!usize {
847 wasi.EINVAL => unreachable,847 wasi.EINVAL => unreachable,
848 wasi.EFAULT => unreachable,848 wasi.EFAULT => unreachable,
849 wasi.EAGAIN => unreachable,849 wasi.EAGAIN => unreachable,
850 wasi.EBADF => unreachable, // Always a race condition.850 wasi.EBADF => return error.NotOpenForWriting, // can be a race condition.
851 wasi.EDESTADDRREQ => unreachable, // `connect` was never called.851 wasi.EDESTADDRREQ => unreachable, // `connect` was never called.
852 wasi.EDQUOT => return error.DiskQuota,852 wasi.EDQUOT => return error.DiskQuota,
853 wasi.EFBIG => return error.FileTooBig,853 wasi.EFBIG => return error.FileTooBig,
...@@ -940,7 +940,7 @@ pub fn pwritev(fd: fd_t, iov: []const iovec_const, offset: u64) PWriteError!usiz...@@ -940,7 +940,7 @@ pub fn pwritev(fd: fd_t, iov: []const iovec_const, offset: u64) PWriteError!usiz
940 wasi.EINVAL => unreachable,940 wasi.EINVAL => unreachable,
941 wasi.EFAULT => unreachable,941 wasi.EFAULT => unreachable,
942 wasi.EAGAIN => unreachable,942 wasi.EAGAIN => unreachable,
943 wasi.EBADF => unreachable, // Always a race condition.943 wasi.EBADF => return error.NotOpenForWriting, // Can be a race condition.
944 wasi.EDESTADDRREQ => unreachable, // `connect` was never called.944 wasi.EDESTADDRREQ => unreachable, // `connect` was never called.
945 wasi.EDQUOT => return error.DiskQuota,945 wasi.EDQUOT => return error.DiskQuota,
946 wasi.EFBIG => return error.FileTooBig,946 wasi.EFBIG => return error.FileTooBig,