ksud: Fix compiler error
This commit is contained in:
@@ -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,9 +149,12 @@ 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 {
|
||||||
|
let last_os_error = Error::last_os_error();
|
||||||
|
if last_os_error.kind() != ErrorKind::Interrupted {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user