aboutsummaryrefslogtreecommitdiff
path: root/src/app/input/navigate.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/input/navigate.rs')
-rw-r--r--src/app/input/navigate.rs16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/app/input/navigate.rs b/src/app/input/navigate.rs
index afe9e6e0..2cb657a7 100644
--- a/src/app/input/navigate.rs
+++ b/src/app/input/navigate.rs
@@ -937,7 +937,7 @@ impl App {
command.current_dir(cwd);
}
let child = command.spawn()?;
- self.detached_custom_command_children.push(child);
+ self.detached_process_children.push(child);
Ok(())
}
@@ -2015,9 +2015,9 @@ mod tests {
use crossterm::event::{KeyCode, KeyEvent, KeyModifiers, ModifierKeyCode};
use ratatui::layout::Direction;
- #[cfg(unix)]
- use super::super::wait_for_file;
use super::super::{state_with_workspaces, unique_temp_path};
+ #[cfg(unix)]
+ use super::super::{wait_for_detached_process_reap, wait_for_file};
use super::*;
use crate::{
app::App,
@@ -3543,16 +3543,10 @@ navigate_pane_down = "ctrl+j"
assert_eq!(app.state.mode, Mode::Terminal);
std::fs::write(&release_path, b"release").expect("release command");
- let deadline = tokio::time::Instant::now() + Duration::from_secs(2);
- while crate::platform::process_exists(pid) && tokio::time::Instant::now() < deadline {
- app.reap_finished_custom_commands();
- tokio::time::sleep(Duration::from_millis(20)).await;
- }
- app.reap_finished_custom_commands();
- let reaped_by_runtime = !crate::platform::process_exists(pid);
+ let reaped_by_runtime = wait_for_detached_process_reap(&mut app, pid).await;
if !reaped_by_runtime {
if let Some(child) = app
- .detached_custom_command_children
+ .detached_process_children
.iter_mut()
.find(|child| child.id() == pid)
{