From 18ad2173816bf455c2dabece9009aae29133b3d3 Mon Sep 17 00:00:00 2001
From: Jonas Maier <>
Date: Wed, 11 Mar 2026 15:32:51 +0100
Subject: first draft of cancellable builtins, kinda shit
---
src/run/mod.rs | 209 +++++++++++++++++++++++++++++++--------------------------
1 file changed, 113 insertions(+), 96 deletions(-)
(limited to 'src/run')
diff --git a/src/run/mod.rs b/src/run/mod.rs
index 6af1717..6046a12 100644
--- a/src/run/mod.rs
+++ b/src/run/mod.rs
@@ -1,9 +1,10 @@
+use nix::spawn;
+
+use crate::rw::*;
use std::collections::HashMap;
-use std::fs::File;
-use std::io::{PipeReader, PipeWriter};
use std::path::PathBuf;
use std::sync::{Arc, Mutex};
-use std::thread::JoinHandle;
+use std::thread::Thread;
use crate::parse::{self, Ast, PostExpansion, PreExpansion};
use crate::wait::{ChildWaiter, ThreadWaiter};
@@ -86,64 +87,9 @@ pub struct Executor {
expand_commands: bool,
}
-pub enum Input {
- Stdin,
- Pipe(PipeReader),
- File(File),
-}
-
-pub enum Output {
- Stdout,
- Pipe(PipeWriter),
- File(File),
-}
-
-impl From for Stdio {
- fn from(value: Input) -> Self {
- match value {
- Input::Stdin => Stdio::inherit(),
- Input::Pipe(reader) => reader.into(),
- Input::File(file) => file.into(),
- }
- }
-}
-
-impl From