summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/lsp/parent_process_checker.rs17
1 files changed, 7 insertions, 10 deletions
diff --git a/cli/lsp/parent_process_checker.rs b/cli/lsp/parent_process_checker.rs
index 016dfd943..e5b2b2f23 100644
--- a/cli/lsp/parent_process_checker.rs
+++ b/cli/lsp/parent_process_checker.rs
@@ -1,20 +1,17 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
-use deno_core::unsync::spawn;
-use tokio::time::sleep;
-use tokio::time::Duration;
+use std::time::Duration;
-/// Starts a task that will check for the existence of the
+/// Starts a thread that will check for the existence of the
/// provided process id. Once that process no longer exists
/// it will terminate the current process.
pub fn start(parent_process_id: u32) {
- spawn(async move {
- loop {
- sleep(Duration::from_secs(30)).await;
+ // use a separate thread in case the runtime gets hung up
+ std::thread::spawn(move || loop {
+ std::thread::sleep(Duration::from_secs(10));
- if !is_process_active(parent_process_id) {
- std::process::exit(1);
- }
+ if !is_process_active(parent_process_id) {
+ std::process::exit(1);
}
});
}