Convert PalEpoll to Rusty error handling.
This commit is contained in:
+16
-12
@@ -1,34 +1,38 @@
|
||||
use super::{
|
||||
super::{types::*, PalEpoll},
|
||||
e, Sys,
|
||||
use super::{e_raw, Sys};
|
||||
use crate::{
|
||||
error::Result,
|
||||
header::{signal::sigset_t, sys_epoll::epoll_event},
|
||||
platform::{types::*, PalEpoll},
|
||||
};
|
||||
use crate::header::{signal::sigset_t, sys_epoll::epoll_event};
|
||||
|
||||
impl PalEpoll for Sys {
|
||||
fn epoll_create1(flags: c_int) -> c_int {
|
||||
unsafe { e(syscall!(EPOLL_CREATE1, flags)) as c_int }
|
||||
fn epoll_create1(flags: c_int) -> Result<c_int> {
|
||||
Ok(unsafe { e_raw(syscall!(EPOLL_CREATE1, flags))? as c_int })
|
||||
}
|
||||
|
||||
fn epoll_ctl(epfd: c_int, op: c_int, fd: c_int, event: *mut epoll_event) -> c_int {
|
||||
unsafe { e(syscall!(EPOLL_CTL, epfd, op, fd, event)) as c_int }
|
||||
unsafe fn epoll_ctl(epfd: c_int, op: c_int, fd: c_int, event: *mut epoll_event) -> Result<()> {
|
||||
unsafe {
|
||||
e_raw(syscall!(EPOLL_CTL, epfd, op, fd, event))?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn epoll_pwait(
|
||||
unsafe fn epoll_pwait(
|
||||
epfd: c_int,
|
||||
events: *mut epoll_event,
|
||||
maxevents: c_int,
|
||||
timeout: c_int,
|
||||
sigmask: *const sigset_t,
|
||||
) -> c_int {
|
||||
) -> Result<usize> {
|
||||
unsafe {
|
||||
e(syscall!(
|
||||
e_raw(syscall!(
|
||||
EPOLL_PWAIT,
|
||||
epfd,
|
||||
events,
|
||||
maxevents,
|
||||
timeout,
|
||||
sigmask
|
||||
)) as c_int
|
||||
))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user