wasi-common error cleanup: part 1, yanix (#1226)
* Reuse std::io::Error for raw *nix errno This commit removes custom `yanix::Errno` and instead (as was previously suggested) reuses `std::io::Error` to generate and wrap raw *nix errno value. * Update wasi-common to use new Yanix error type This commit updates `wasi-common` to use new way of handling raw OS error in `yanix`; i.e., via re-use of `std::io::Error` instead of a custom `Errno` enum. * Fix formatting * Unwrap if io::Error created from raw OS error This commit calls `unwrap` on `err` if that one was created via `io::Error::last_os_error()`. It also refactors error matching in several syscalls on the BSD platform (mainly).
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
use crate::{Errno, Result};
|
||||
use crate::{Error, Result};
|
||||
use std::os::unix::prelude::*;
|
||||
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
@@ -15,7 +15,7 @@ pub unsafe fn get_socket_type(fd: RawFd) -> Result<SockType> {
|
||||
use std::mem::{self, MaybeUninit};
|
||||
let mut buffer = MaybeUninit::<SockType>::zeroed().assume_init();
|
||||
let mut out_len = mem::size_of::<SockType>() as libc::socklen_t;
|
||||
Errno::from_success_code(libc::getsockopt(
|
||||
Error::from_success_code(libc::getsockopt(
|
||||
fd,
|
||||
libc::SOL_SOCKET,
|
||||
libc::SO_TYPE,
|
||||
|
||||
Reference in New Issue
Block a user