Compare commits
No commits in common. 'epel10' and 'epel9' have entirely different histories.
@ -1,11 +0,0 @@
|
|||||||
--- clircle-0.4.0/Cargo.toml 1970-01-01T00:00:01+00:00
|
|
||||||
+++ clircle-0.4.0/Cargo.toml 2024-10-23T20:12:19.939974+00:00
|
|
||||||
@@ -51,7 +51,7 @@
|
|
||||||
version = "0.2"
|
|
||||||
|
|
||||||
[target."cfg(not(windows))".dev-dependencies.nix]
|
|
||||||
-version = "0.24.1"
|
|
||||||
+version = "0.29"
|
|
||||||
features = ["term"]
|
|
||||||
default-features = false
|
|
||||||
|
|
@ -1,66 +0,0 @@
|
|||||||
diff --git a/src/clircle_unix.rs b/src/clircle_unix.rs
|
|
||||||
index 101f208..56448b9 100644
|
|
||||||
--- a/src/clircle_unix.rs
|
|
||||||
+++ b/src/clircle_unix.rs
|
|
||||||
@@ -4,7 +4,7 @@ use std::convert::TryFrom;
|
|
||||||
use std::fs::File;
|
|
||||||
use std::io::{self, Seek};
|
|
||||||
use std::os::unix::fs::MetadataExt;
|
|
||||||
-use std::os::unix::io::{FromRawFd, IntoRawFd, RawFd};
|
|
||||||
+use std::os::unix::io::{FromRawFd, IntoRawFd, OwnedFd, RawFd};
|
|
||||||
use std::{cmp, hash, ops};
|
|
||||||
|
|
||||||
/// Re-export of libc
|
|
||||||
@@ -53,6 +53,13 @@ impl UnixIdentifier {
|
|
||||||
ident
|
|
||||||
})
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ fn try_from_owned_fd(fd: OwnedFd) -> io::Result<Self> {
|
|
||||||
+ Self::try_from(File::from(fd)).map(|mut ident| {
|
|
||||||
+ ident.owns_fd = true;
|
|
||||||
+ ident
|
|
||||||
+ })
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Clircle for UnixIdentifier {
|
|
||||||
@@ -135,6 +142,7 @@ mod tests {
|
|
||||||
|
|
||||||
use std::error::Error;
|
|
||||||
use std::io::Write;
|
|
||||||
+ use std::os::unix::io::AsRawFd;
|
|
||||||
|
|
||||||
use nix::pty::{openpty, OpenptyResult};
|
|
||||||
use nix::unistd::close;
|
|
||||||
@@ -186,7 +194,7 @@ mod tests {
|
|
||||||
#[test]
|
|
||||||
fn test_pty_equal_but_not_conflicting() -> Result<(), &'static str> {
|
|
||||||
let OpenptyResult { master, slave } = openpty(None, None).expect("Could not open pty.");
|
|
||||||
- let res = unsafe { UnixIdentifier::try_from_raw_fd(slave, false) }
|
|
||||||
+ let res = unsafe { UnixIdentifier::try_from_raw_fd(slave.as_raw_fd(), false) }
|
|
||||||
.map_err(|_| "Error creating UnixIdentifier from pty fd")
|
|
||||||
.and_then(|ident| {
|
|
||||||
if !ident.eq(&ident) {
|
|
||||||
@@ -196,7 +204,7 @@ mod tests {
|
|
||||||
return Err("pty fd does not conflict with itself, but conflict detected");
|
|
||||||
}
|
|
||||||
|
|
||||||
- let second_ident = unsafe { UnixIdentifier::try_from_raw_fd(slave, false) }
|
|
||||||
+ let second_ident = UnixIdentifier::try_from_owned_fd(slave)
|
|
||||||
.map_err(|_| "Error creating second Identifier to pty")?;
|
|
||||||
if !ident.eq(&second_ident) {
|
|
||||||
return Err("ident != second_ident");
|
|
||||||
@@ -209,12 +217,6 @@ mod tests {
|
|
||||||
Ok(())
|
|
||||||
});
|
|
||||||
|
|
||||||
- let r1 = close(master);
|
|
||||||
- let r2 = close(slave);
|
|
||||||
-
|
|
||||||
- r1.expect("Error closing master end of pty");
|
|
||||||
- r2.expect("Error closing slave end of pty");
|
|
||||||
-
|
|
||||||
res
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in new issue