diff options
| author | Gary Wilber <Spacetech326@gmail.com> | 2020-12-02 23:23:13 -0800 |
|---|---|---|
| committer | Gary Wilber <Spacetech326@gmail.com> | 2020-12-02 23:23:13 -0800 |
| commit | 2b6b2cbf31d44c03e1bf68eff155fc0918df9dfb (patch) | |
| tree | fa76dae7ffb2ac4f3bedfb6517bc68853e19ed11 | |
| parent | 74f211960a5df659d51b4e836ee784497829a3ed (diff) | |
Remove Lazy
3 files changed, 8 insertions, 8 deletions
diff --git a/MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs b/MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs index 7aec3b322..c018627b4 100644 --- a/MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs +++ b/MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs @@ -39,7 +39,7 @@ namespace MediaBrowser.Controller.BaseItemManager } /// <inheritdoc /> - public Lazy<SemaphoreSlim> MetadataRefreshThrottler { get; private set; } + public SemaphoreSlim MetadataRefreshThrottler { get; private set; } /// <inheritdoc /> public bool IsMetadataFetcherEnabled(BaseItem baseItem, LibraryOptions libraryOptions, string name) @@ -108,10 +108,7 @@ namespace MediaBrowser.Controller.BaseItemManager /// </summary> private void SetupMetadataThrottler() { - if (MetadataRefreshThrottler == null || MetadataRefreshThrottler.IsValueCreated) - { - MetadataRefreshThrottler = new Lazy<SemaphoreSlim>(() => new SemaphoreSlim(_metadataRefreshConcurrency)); - } + MetadataRefreshThrottler = new SemaphoreSlim(_metadataRefreshConcurrency); } /// <summary> diff --git a/MediaBrowser.Controller/BaseItemManager/IBaseItemManager.cs b/MediaBrowser.Controller/BaseItemManager/IBaseItemManager.cs index d5f36dc2e..e1f5d05a6 100644 --- a/MediaBrowser.Controller/BaseItemManager/IBaseItemManager.cs +++ b/MediaBrowser.Controller/BaseItemManager/IBaseItemManager.cs @@ -13,7 +13,7 @@ namespace MediaBrowser.Controller.BaseItemManager /// <summary> /// Gets the semaphore used to limit the amount of concurrent metadata refreshes. /// </summary> - Lazy<SemaphoreSlim> MetadataRefreshThrottler { get; } + SemaphoreSlim MetadataRefreshThrottler { get; } /// <summary> /// Is metadata fetcher enabled. diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index fbf4bc68b..a20c47cf2 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -1175,7 +1175,10 @@ namespace MediaBrowser.Providers.Manager /// <returns>A <see cref="Task"/> representing the result of the asynchronous operation.</returns> public async Task RunMetadataRefresh(Func<Task> action, CancellationToken cancellationToken) { - await _baseItemManager.MetadataRefreshThrottler.Value.WaitAsync(cancellationToken).ConfigureAwait(false); + // create a variable for this since it is possible MetadataRefreshThrottler could change due to a config update during a scan + var metadataRefreshThrottler = _baseItemManager.MetadataRefreshThrottler; + + await metadataRefreshThrottler.WaitAsync(cancellationToken).ConfigureAwait(false); try { @@ -1183,7 +1186,7 @@ namespace MediaBrowser.Providers.Manager } finally { - _baseItemManager.MetadataRefreshThrottler.Value.Release(); + metadataRefreshThrottler.Release(); } } |
