fix: wrap curl output() in tokio timeout in case process hangs on stdout

This commit is contained in:
M1 2026-03-18 12:58:12 +04:00
parent 554d95cfb4
commit 79bf7d9295
1 changed files with 6 additions and 1 deletions

View File

@ -192,7 +192,12 @@ async fn run_curl(
cmd.arg(url);
let output = cmd.output().await.map_err(|e| format!("curl exec error: {e}"))?;
let output = tokio::time::timeout(
std::time::Duration::from_secs_f64(timeout_secs + 2.0),
cmd.output()
).await
.map_err(|_| format!("timed out after {:.0}s", timeout_secs))?
.map_err(|e| format!("curl exec error: {e}"))?;
if !output.status.success() {
let stderr = String::from_utf8_lossy(&output.stderr).to_string();