From 38d84c5a2e9452df25a138be189806bc95cb378a Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Sun, 26 Nov 2023 17:47:49 -0500 Subject: [PATCH] More workaround for process read hangs --- src/Tgstation.Server.Host/System/Process.cs | 2 +- src/Tgstation.Server.Host/System/ProcessExecutor.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Tgstation.Server.Host/System/Process.cs b/src/Tgstation.Server.Host/System/Process.cs index 003f3b12e4..da67c8f0e8 100644 --- a/src/Tgstation.Server.Host/System/Process.cs +++ b/src/Tgstation.Server.Host/System/Process.cs @@ -153,7 +153,7 @@ namespace Tgstation.Server.Host.System if (handle.HasExited) { handle.WaitForExit(); - await Task.WhenAny(readTask, asyncDelayer.Delay(TimeSpan.FromSeconds(10), cancellationToken)); + await Task.WhenAny(readTask, asyncDelayer.Delay(TimeSpan.FromSeconds(30), cancellationToken)); if (!readTask.IsCompleted) { diff --git a/src/Tgstation.Server.Host/System/ProcessExecutor.cs b/src/Tgstation.Server.Host/System/ProcessExecutor.cs index abe5063684..088cd8325b 100644 --- a/src/Tgstation.Server.Host/System/ProcessExecutor.cs +++ b/src/Tgstation.Server.Host/System/ProcessExecutor.cs @@ -250,7 +250,7 @@ namespace Tgstation.Server.Host.System errorReadTask = stdErrHandle.ReadLineAsync(disposeToken).AsTask(); var completedTask = await Task.WhenAny(outputReadTask ?? errorReadTask, errorReadTask ?? outputReadTask); - var line = await completedTask; + var line = await completedTask.WaitAsync(disposeToken); if (completedTask == outputReadTask) { outputReadTask = null;