Move pthread::Errno to separate module.

This commit is contained in:
4lDO2
2024-09-07 12:46:16 +02:00
parent e73b891e77
commit 4bd0d2a1ef
21 changed files with 77 additions and 80 deletions
+2 -2
View File
@@ -15,8 +15,8 @@ use crate::header::{
};
// use header::sys_times::tms;
use crate::{
error::Errno,
header::{sys_utsname::utsname, time::timespec},
pthread::Errno,
};
mod epoll;
@@ -243,7 +243,7 @@ impl Pal for Sys {
addr: *mut u32,
val: u32,
deadline: Option<&timespec>,
) -> Result<(), crate::pthread::Errno> {
) -> Result<(), Errno> {
let deadline = deadline.map_or(0, |d| d as *const _ as usize);
e_raw(unsafe {
syscall!(
+1 -1
View File
@@ -5,12 +5,12 @@ use super::{
e, e_raw, Sys,
};
use crate::{
error::Errno,
header::{
signal::{sigaction, siginfo_t, sigset_t, stack_t, NSIG, SA_RESTORER},
sys_time::itimerval,
time::timespec,
},
pthread::Errno,
};
impl PalSignal for Sys {
+1 -1
View File
@@ -1,6 +1,6 @@
use crate::{
error::ResultExt,
io::{self, Read, Write},
pthread::ResultExt,
};
use alloc::{boxed::Box, vec::Vec};
use core::{cell::Cell, fmt, ptr};
+6 -9
View File
@@ -1,6 +1,7 @@
use super::types::*;
use crate::{
c_str::CStr,
error::Errno,
header::{
dirent::dirent,
sys_resource::rlimit,
@@ -10,7 +11,7 @@ use crate::{
sys_utsname::utsname,
time::timespec,
},
pthread::{self, Errno},
pthread,
};
pub use self::epoll::PalEpoll;
@@ -83,8 +84,8 @@ pub trait Pal {
addr: *mut u32,
val: u32,
deadline: Option<&timespec>,
) -> Result<(), pthread::Errno>;
unsafe fn futex_wake(addr: *mut u32, num: u32) -> Result<u32, pthread::Errno>;
) -> Result<(), Errno>;
unsafe fn futex_wake(addr: *mut u32, num: u32) -> Result<u32, Errno>;
fn futimens(fd: c_int, times: *const timespec) -> c_int;
@@ -182,12 +183,8 @@ pub trait Pal {
fn pipe2(fildes: &mut [c_int], flags: c_int) -> c_int;
unsafe fn rlct_clone(stack: *mut usize)
-> Result<crate::pthread::OsTid, crate::pthread::Errno>;
unsafe fn rlct_kill(
os_tid: crate::pthread::OsTid,
signal: usize,
) -> Result<(), crate::pthread::Errno>;
unsafe fn rlct_clone(stack: *mut usize) -> Result<crate::pthread::OsTid, Errno>;
unsafe fn rlct_kill(os_tid: crate::pthread::OsTid, signal: usize) -> Result<(), Errno>;
fn current_os_tid() -> crate::pthread::OsTid;
fn read(fildes: c_int, buf: &mut [u8]) -> Result<ssize_t, Errno>;
+1 -1
View File
@@ -1,11 +1,11 @@
use super::super::{types::*, Pal};
use crate::{
error::Errno,
header::{
signal::{sigaction, siginfo_t, sigset_t, stack_t},
sys_time::itimerval,
time::timespec,
},
pthread::Errno,
};
pub trait PalSignal: Pal {
+1 -1
View File
@@ -4,11 +4,11 @@ use super::{
};
use crate::{
error::ResultExt,
fs::File,
header::{errno::*, fcntl::*, signal::sigset_t, sys_epoll::*},
io::prelude::*,
platform,
pthread::ResultExt,
};
use core::{mem, slice};
use syscall::{
+6 -11
View File
@@ -8,6 +8,7 @@ use syscall::{
use crate::{
c_str::{CStr, CString},
error::{self, Errno, ResultExt},
fs::File,
header::{
dirent::dirent,
@@ -25,7 +26,6 @@ use crate::{
unistd::{F_OK, R_OK, W_OK, X_OK},
},
io::{self, prelude::*, BufReader},
pthread::{self, Errno, ResultExt},
};
pub use redox_rt::proc::FdGuard;
@@ -307,7 +307,7 @@ impl Pal for Sys {
addr: *mut u32,
val: u32,
deadline: Option<&timespec>,
) -> Result<(), pthread::Errno> {
) -> Result<(), Errno> {
let deadline = deadline.map(|d| syscall::TimeSpec {
tv_sec: d.tv_sec,
tv_nsec: d.tv_nsec as i32,
@@ -316,7 +316,7 @@ impl Pal for Sys {
Ok(())
}
#[inline]
unsafe fn futex_wake(addr: *mut u32, num: u32) -> Result<u32, pthread::Errno> {
unsafe fn futex_wake(addr: *mut u32, num: u32) -> Result<u32, Errno> {
Ok(redox_rt::sys::sys_futex_wake(addr, num)?)
}
@@ -787,21 +787,16 @@ impl Pal for Sys {
e(extra::pipe2(fds, flags as usize).map(|()| 0)) as c_int
}
unsafe fn rlct_clone(
stack: *mut usize,
) -> Result<crate::pthread::OsTid, crate::pthread::Errno> {
unsafe fn rlct_clone(stack: *mut usize) -> Result<crate::pthread::OsTid, Errno> {
let _guard = clone::rdlock();
let res = clone::rlct_clone_impl(stack);
res.map(|mut fd| crate::pthread::OsTid {
thread_fd: fd.take(),
})
.map_err(|error| crate::pthread::Errno(error.errno))
.map_err(|error| Errno(error.errno))
}
unsafe fn rlct_kill(
os_tid: crate::pthread::OsTid,
signal: usize,
) -> Result<(), crate::pthread::Errno> {
unsafe fn rlct_kill(os_tid: crate::pthread::OsTid, signal: usize) -> Result<(), Errno> {
redox_rt::sys::posix_kill_thread(os_tid.thread_fd, signal as u32)?;
Ok(())
}
+1 -1
View File
@@ -7,6 +7,7 @@ use super::{
e, Sys,
};
use crate::{
error::Errno,
header::{
errno::{EINVAL, ENOSYS},
signal::{
@@ -17,7 +18,6 @@ use crate::{
time::timespec,
},
platform::ERRNO,
pthread::Errno,
};
impl PalSignal for Sys {
+1 -1
View File
@@ -7,6 +7,7 @@ use super::{
e, Sys,
};
use crate::{
error::ResultExt,
header::{
arpa_inet::inet_aton,
netinet_in::{in_addr, in_port_t, sockaddr_in},
@@ -15,7 +16,6 @@ use crate::{
sys_time::timeval,
sys_un::sockaddr_un,
},
pthread::ResultExt,
};
macro_rules! bind_or_connect {
+1 -1
View File
@@ -3,8 +3,8 @@ use alloc::vec::Vec;
use crate::platform::{types::*, Pal, Sys};
use crate::{
error::ResultExt,
header::unistd::{lseek, SEEK_SET},
pthread::ResultExt,
};
/// Implements an `Iterator` which returns on either newline or EOF.
#[derive(Clone)]