From 4e2a5836e18d054ae6d855e76afe8a15820df0a2 Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Sat, 12 Aug 2023 11:59:58 -0400 Subject: [PATCH] Fix console runner not working on Windows --- src/Tgstation.Server.Host.Console/Program.cs | 7 +++++-- .../NoopSignalChecker.cs | 7 +++---- 2 files changed, 8 insertions(+), 6 deletions(-) rename src/{Tgstation.Server.Host.Service => Tgstation.Server.Host.Watchdog}/NoopSignalChecker.cs (69%) diff --git a/src/Tgstation.Server.Host.Console/Program.cs b/src/Tgstation.Server.Host.Console/Program.cs index b1803ba2a8..e142de81be 100644 --- a/src/Tgstation.Server.Host.Console/Program.cs +++ b/src/Tgstation.Server.Host.Console/Program.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Reflection; +using System.Runtime.InteropServices; using System.Threading; using System.Threading.Tasks; @@ -71,8 +72,10 @@ namespace Tgstation.Server.Host.Console }; var watchdog = WatchdogFactory.CreateWatchdog( - new PosixSignalChecker( - loggerFactory.CreateLogger()), + RuntimeInformation.IsOSPlatform(OSPlatform.Windows) + ? new NoopSignalChecker() + : new PosixSignalChecker( + loggerFactory.CreateLogger()), loggerFactory); return await watchdog.RunAsync(false, arguments.ToArray(), cts.Token) diff --git a/src/Tgstation.Server.Host.Service/NoopSignalChecker.cs b/src/Tgstation.Server.Host.Watchdog/NoopSignalChecker.cs similarity index 69% rename from src/Tgstation.Server.Host.Service/NoopSignalChecker.cs rename to src/Tgstation.Server.Host.Watchdog/NoopSignalChecker.cs index 485d8f152e..409eed8fbc 100644 --- a/src/Tgstation.Server.Host.Service/NoopSignalChecker.cs +++ b/src/Tgstation.Server.Host.Watchdog/NoopSignalChecker.cs @@ -2,18 +2,17 @@ using System.Threading; using System.Threading.Tasks; -using Tgstation.Server.Host.Watchdog; - -namespace Tgstation.Server.Host.Service +namespace Tgstation.Server.Host.Watchdog { /// /// No-op . /// - sealed class NoopSignalChecker : ISignalChecker + public sealed class NoopSignalChecker : ISignalChecker { /// public Task CheckSignals(Func startChild, CancellationToken cancellationToken) { + ArgumentNullException.ThrowIfNull(startChild); startChild(null); return Task.CompletedTask; }