ksud: Fix compiler error

This commit is contained in:
weishu
2024-05-08 11:09:27 +08:00
parent 57b96da9db
commit fe526cb029

View File

@@ -1,6 +1,6 @@
use std::ffi::c_int; use std::ffi::c_int;
use std::fs::File; use std::fs::File;
use std::io::{stderr, stdin, stdout, Read, Write}; use std::io::{stderr, stdin, stdout, Error, ErrorKind, Read, Write};
use std::mem::MaybeUninit; use std::mem::MaybeUninit;
use std::os::fd::{AsFd, AsRawFd, OwnedFd, RawFd}; use std::os::fd::{AsFd, AsRawFd, OwnedFd, RawFd};
use std::process::exit; use std::process::exit;
@@ -9,8 +9,8 @@ use std::thread;
use anyhow::{bail, Ok, Result}; use anyhow::{bail, Ok, Result};
use libc::{ use libc::{
__errno, fork, pthread_sigmask, sigaddset, sigemptyset, sigset_t, sigwait, waitpid, winsize, fork, pthread_sigmask, sigaddset, sigemptyset, sigset_t, sigwait, waitpid, winsize, SIGWINCH,
EINTR, SIGWINCH, SIG_BLOCK, SIG_UNBLOCK, TIOCGWINSZ, TIOCSWINSZ, SIG_BLOCK, SIG_UNBLOCK, TIOCGWINSZ, TIOCSWINSZ,
}; };
use rustix::fs::{open, Mode, OFlags}; use rustix::fs::{open, Mode, OFlags};
use rustix::io::dup; use rustix::io::dup;
@@ -149,8 +149,11 @@ fn create_transfer(ptmx: OwnedFd) -> Result<()> {
unsafe { unsafe {
loop { loop {
if waitpid(pid, &mut status, 0) == -1 && *__errno() != EINTR { if waitpid(pid, &mut status, 0) == -1 {
continue; let last_os_error = Error::last_os_error();
if last_os_error.kind() != ErrorKind::Interrupted {
continue;
}
} }
break; break;
} }