From fbc4ca89aa60e02260031c11e357bd9dd0f1f18f Mon Sep 17 00:00:00 2001 From: lepipele Date: Thu, 26 Apr 2018 21:44:21 -0500 Subject: [PATCH] Enapsulating Token per code review discussions --- BTCPayServer/HostedServices/BaseAsyncService.cs | 9 +++++++-- BTCPayServer/HostedServices/CssThemeManager.cs | 2 +- BTCPayServer/HostedServices/RatesHostedService.cs | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/BTCPayServer/HostedServices/BaseAsyncService.cs b/BTCPayServer/HostedServices/BaseAsyncService.cs index 2d53c0874..dd2ad5016 100644 --- a/BTCPayServer/HostedServices/BaseAsyncService.cs +++ b/BTCPayServer/HostedServices/BaseAsyncService.cs @@ -16,18 +16,23 @@ namespace BTCPayServer.HostedServices { public abstract class BaseAsyncService : IHostedService { - protected CancellationTokenSource _Cts; + private CancellationTokenSource _Cts; protected Task[] _Tasks; public Task StartAsync(CancellationToken cancellationToken) { - _Cts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); + _Cts = new CancellationTokenSource(); _Tasks = initializeTasks(); return Task.CompletedTask; } internal abstract Task[] initializeTasks(); + protected CancellationToken _SyncToken + { + get { return _Cts.Token; } + } + protected async Task createLoopTask(Func act, [CallerMemberName]string caller = null) { await new SynchronizationContextRemover(); diff --git a/BTCPayServer/HostedServices/CssThemeManager.cs b/BTCPayServer/HostedServices/CssThemeManager.cs index ca845d723..adc9fce67 100644 --- a/BTCPayServer/HostedServices/CssThemeManager.cs +++ b/BTCPayServer/HostedServices/CssThemeManager.cs @@ -68,7 +68,7 @@ namespace BTCPayServer.HostedServices var data = (await _SettingsRepository.GetSettingAsync()) ?? new ThemeSettings(); _CssThemeManager.Update(data); - await _SettingsRepository.WaitSettingsChanged(_Cts.Token); + await _SettingsRepository.WaitSettingsChanged(_SyncToken); } } } diff --git a/BTCPayServer/HostedServices/RatesHostedService.cs b/BTCPayServer/HostedServices/RatesHostedService.cs index 2ea9c2ea2..4fea30c06 100644 --- a/BTCPayServer/HostedServices/RatesHostedService.cs +++ b/BTCPayServer/HostedServices/RatesHostedService.cs @@ -45,7 +45,7 @@ namespace BTCPayServer.HostedServices .Exchanges .Select(c => (c.DisplayName, c.Name)) .ToArray(); - await Task.Delay(TimeSpan.FromHours(5), _Cts.Token); + await Task.Delay(TimeSpan.FromHours(5), _SyncToken); } async Task RefreshCoinAverageSettings() @@ -61,7 +61,7 @@ namespace BTCPayServer.HostedServices { _coinAverageSettings.KeyPair = null; } - await _SettingsRepository.WaitSettingsChanged(_Cts.Token); + await _SettingsRepository.WaitSettingsChanged(_SyncToken); } } }