summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/main.rs b/src/main.rs
index 44f2726..b87089a 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,5 +1,4 @@
mod recite;
-use libc::{waitpid, WNOHANG};
use recite::path::prefresh;
use recite::Poem;
use std::io::{self, Write};
@@ -43,6 +42,16 @@ fn repl(path: &Vec<&Path>, prompt: &str) {
break;
}
+ // Kill zombies
+ // TODO: Remove this (since it was implemented in incant_quiet())
+ // unsafe {
+ // let mut status = -1;
+ // let mut pid = waitpid(-1, &mut status, WNOHANG);
+ // while pid > 0 {
+ // pid = waitpid(-1, &mut status, WNOHANG);
+ // }
+ // }
+
// Trim the input
let poetry = String::from(poetry.trim());
@@ -56,7 +65,7 @@ fn repl(path: &Vec<&Path>, prompt: &str) {
match poem {
Some(poem) => match poem.recite(path, &mut bins) {
Ok(_) => {}
- Err(e) => eprintln!("dwvsh: {}", e),
+ Err(e) => eprintln!("dwvsh: {}", e.to_string().to_lowercase()),
},
None => {}
};
@@ -89,16 +98,6 @@ fn main() {
io::stdout().flush().unwrap();
})
.unwrap();
-
- signal_hook::low_level::register(signal_hook::consts::SIGCHLD, move || {
- let mut status: i32 = -1;
- let pid: i32 = waitpid(-1, &mut status, WNOHANG);
- if pid != -1 {
- print!("[&] + done {}", pid);
- io::stdout().flush().unwrap();
- }
- })
- .unwrap();
};
// Begin evaluating commands