diff --git a/src/Tgstation.Server.Host/Components/Watchdog/WatchdogBase.cs b/src/Tgstation.Server.Host/Components/Watchdog/WatchdogBase.cs index 725f99fb3a..258ab9709c 100644 --- a/src/Tgstation.Server.Host/Components/Watchdog/WatchdogBase.cs +++ b/src/Tgstation.Server.Host/Components/Watchdog/WatchdogBase.cs @@ -854,7 +854,7 @@ namespace Tgstation.Server.Host.Components.Watchdog var heartbeatSeconds = ActiveLaunchParameters.HeartbeatSeconds.Value; var heartbeat = heartbeatSeconds == 0 || !controller.DMApiAvailable - ? Extensions.TaskExtensions.InfiniteTask() + ? Extensions.TaskExtensions.InfiniteTask : Task.Delay( TimeSpan.FromSeconds(heartbeatSeconds), cancellationToken); diff --git a/src/Tgstation.Server.Host/Extensions/TaskExtensions.cs b/src/Tgstation.Server.Host/Extensions/TaskExtensions.cs index a8ee467d1e..bd65a629d9 100644 --- a/src/Tgstation.Server.Host/Extensions/TaskExtensions.cs +++ b/src/Tgstation.Server.Host/Extensions/TaskExtensions.cs @@ -14,6 +14,11 @@ namespace Tgstation.Server.Host.Extensions /// static readonly TaskCompletionSource InfiniteTaskCompletionSource = new (); + /// + /// Gets a that never completes. + /// + public static Task InfiniteTask => InfiniteTaskCompletionSource.Task; + /// /// Create a that can be awaited while respecting a given . /// @@ -53,11 +58,5 @@ namespace Tgstation.Server.Host.Extensions return await task; } - - /// - /// Creates a that never completes. - /// - /// A never ending . - public static Task InfiniteTask() => InfiniteTaskCompletionSource.Task; } } diff --git a/src/Tgstation.Server.Host/Jobs/JobService.cs b/src/Tgstation.Server.Host/Jobs/JobService.cs index 09350a4c4c..971150061a 100644 --- a/src/Tgstation.Server.Host/Jobs/JobService.cs +++ b/src/Tgstation.Server.Host/Jobs/JobService.cs @@ -271,7 +271,7 @@ namespace Tgstation.Server.Host.Jobs } if (noMoreJobsShouldStart && !handler.Started) - await Extensions.TaskExtensions.InfiniteTask().WithToken(cancellationToken); + await Extensions.TaskExtensions.InfiniteTask.WithToken(cancellationToken); Task cancelTask = null; using (jobCancellationToken.Register(() => cancelTask = CancelJob(job, canceller, true, cancellationToken))) diff --git a/src/Tgstation.Server.Host/Swarm/SwarmService.cs b/src/Tgstation.Server.Host/Swarm/SwarmService.cs index d53456c8ac..8f8a5ce7a9 100644 --- a/src/Tgstation.Server.Host/Swarm/SwarmService.cs +++ b/src/Tgstation.Server.Host/Swarm/SwarmService.cs @@ -380,7 +380,7 @@ namespace Tgstation.Server.Host.Swarm ? asyncDelayer.Delay( TimeSpan.FromMinutes(UpdateCommitTimeoutMinutes), cancellationToken) - : Extensions.TaskExtensions.InfiniteTask().WithToken(cancellationToken); + : Extensions.TaskExtensions.InfiniteTask.WithToken(cancellationToken); var commitTask = Task.WhenAny(commitTcsTask, timeoutTask);