Use redox-daemon
This commit is contained in:
Generated
+17
@@ -8,14 +8,31 @@ version = "1.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.126"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
|
||||
|
||||
[[package]]
|
||||
name = "ptyd"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"redox-daemon",
|
||||
"redox_syscall",
|
||||
"redox_termios",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "redox-daemon"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "21e31c834277709c7ff3eb74959fe62be4b45b1189ba9d41fd3744cd3a9c554f"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"redox_syscall",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.2.16"
|
||||
|
||||
@@ -3,5 +3,6 @@ name = "ptyd"
|
||||
version = "0.1.0"
|
||||
|
||||
[dependencies]
|
||||
redox-daemon = "0.1"
|
||||
redox_syscall = "0.2.12"
|
||||
redox_termios = "0.1.2"
|
||||
|
||||
+4
-3
@@ -22,8 +22,7 @@ mod winsize;
|
||||
use scheme::PtyScheme;
|
||||
|
||||
fn main(){
|
||||
// Daemonize
|
||||
if unsafe { syscall::clone(CloneFlags::empty()).unwrap() } == 0 {
|
||||
redox_daemon::Daemon::new(move |daemon| {
|
||||
let mut event_file = OpenOptions::new()
|
||||
.read(true)
|
||||
.write(true)
|
||||
@@ -48,6 +47,8 @@ fn main(){
|
||||
|
||||
syscall::setrens(0, 0).expect("ptyd: failed to enter null namespace");
|
||||
|
||||
daemon.ready().expect("pty: failed to notify parent");
|
||||
|
||||
event_file.write(&Event {
|
||||
id: socket.as_raw_fd() as usize,
|
||||
flags: syscall::EVENT_READ,
|
||||
@@ -115,7 +116,7 @@ fn main(){
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}).expect("pty: failed to daemonize");
|
||||
}
|
||||
|
||||
fn timeout(time_file: &mut File) -> io::Result<()> {
|
||||
|
||||
Reference in New Issue
Block a user