4 files changed
--- a/cmds/fleet/src/main.rs
+++ b/cmds/fleet/src/main.rs
@@ -180,7 +180,7 @@
)
};
- let filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info"));
+ let filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("noq_udp=warn,info"));
let tree = {
#[cfg(feature = "indicatif")]
--- a/remowt/cmds/remowt-ssh/src/main.rs
+++ b/remowt/cmds/remowt-ssh/src/main.rs
@@ -18,10 +18,10 @@
use remowt_ui_prompt::{PrependSourcePrompter, Source};
use tokio::io::unix::AsyncFd;
use tokio::io::{AsyncRead, ReadBuf};
-use tokio::signal::unix::{signal, SignalKind};
+use tokio::signal::unix::{SignalKind, signal};
use tracing::debug;
+use tracing_subscriber::EnvFilter;
use tracing_subscriber::prelude::*;
-use tracing_subscriber::EnvFilter;
#[derive(Parser)]
enum Opts {
27 fs,27 fs,
28 io::{AsyncBufReadExt as _, AsyncReadExt as _, AsyncWriteExt as _, BufReader},28 io::{AsyncBufReadExt as _, AsyncReadExt as _, AsyncWriteExt as _, BufReader},
29};29};
30use tracing::{debug, info, warn};30use tracing::{Instrument as _, debug, info, warn};
31use uuid::Uuid;31use uuid::Uuid;
3232
33pub mod editor;33pub mod editor;
677 }678 }
678 }679 }
679 })680 }
681 .in_current_span(),
682 )
680}683}
681684
--- a/remowt/crates/remowt-endpoints/src/nix_daemon.rs
+++ b/remowt/crates/remowt-endpoints/src/nix_daemon.rs
@@ -1,11 +1,12 @@
use std::process::Stdio;
use std::sync::Arc;
+use bifrostlink::Config;
use bifrostlink::declarative::endpoints;
-use bifrostlink::Config;
use remowt_link_shared::iroh_tunnel::{TunnelAddr, TunnelDialer};
use serde::{Deserialize, Serialize};
use std::result::Result;
+use tokio::io::{self, AsyncWriteExt as _};
use tokio::process::Command;
#[derive(Clone)]
@@ -47,11 +48,16 @@
let mut stdin = child.stdin.take().expect("piped");
let mut stdout = child.stdout.take().expect("piped");
tokio::spawn(async move {
- let (mut tr, mut tw) = tokio::io::split(tunnel);
- let _ = tokio::join!(
- tokio::io::copy(&mut tr, &mut stdin),
- tokio::io::copy(&mut stdout, &mut tw),
- );
+ let (mut tr, mut tw) = io::split(tunnel);
+ let to_child = async {
+ let _ = io::copy(&mut tr, &mut stdin).await;
+ let _ = stdin.shutdown().await;
+ };
+ let from_child = async {
+ let _ = io::copy(&mut stdout, &mut tw).await;
+ let _ = tw.shutdown().await;
+ };
+ tokio::join!(to_child, from_child);
let _ = child.wait().await;
});
Ok(())