diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-10-29 19:49:23 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-10-29 19:49:23 -0400 |
| commit | fd04fddca0c9d5cda336efb5b4e02e117913ce37 (patch) | |
| tree | df1c98bb9a79cdc76e1c1e48110a06cf46b6be08 | |
| parent | 4807be3b0996e24b41bc5b805eff32f090b2f543 (diff) | |
update locks
4 files changed, 6 insertions, 12 deletions
diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index ba4b624e3..46a6286a4 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -560,8 +560,6 @@ namespace MediaBrowser.Providers.Manager new MetadataOptions(); } - private readonly ConcurrentDictionary<string, SemaphoreSlim> _fileLocks = new ConcurrentDictionary<string, SemaphoreSlim>(); - /// <summary> /// Saves the metadata. /// </summary> @@ -585,6 +583,7 @@ namespace MediaBrowser.Providers.Manager return SaveMetadata(item, updateType, _savers.Where(i => savers.Contains(i.Name, StringComparer.OrdinalIgnoreCase))); } + private readonly SemaphoreSlim _saveLock = new SemaphoreSlim(1,1); /// <summary> /// Saves the metadata. /// </summary> @@ -614,9 +613,7 @@ namespace MediaBrowser.Providers.Manager continue; } - var semaphore = _fileLocks.GetOrAdd(path, key => new SemaphoreSlim(1, 1)); - - await semaphore.WaitAsync().ConfigureAwait(false); + await _saveLock.WaitAsync().ConfigureAwait(false); try { @@ -629,8 +626,8 @@ namespace MediaBrowser.Providers.Manager } finally { + _saveLock.Release(); _libraryMonitor.ReportFileSystemChangeComplete(path, false); - semaphore.Release(); } } else diff --git a/MediaBrowser.Providers/Movies/MovieDbProvider.cs b/MediaBrowser.Providers/Movies/MovieDbProvider.cs index d42c8fa98..0f4ffdc1a 100644 --- a/MediaBrowser.Providers/Movies/MovieDbProvider.cs +++ b/MediaBrowser.Providers/Movies/MovieDbProvider.cs @@ -657,8 +657,7 @@ namespace MediaBrowser.Providers.Movies return _httpClient.GetResponse(new HttpRequestOptions { CancellationToken = cancellationToken, - Url = url, - ResourcePool = MovieDbResourcePool + Url = url }); } } diff --git a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs index e21f9d35b..6a8c06cab 100644 --- a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs +++ b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs @@ -206,8 +206,7 @@ namespace MediaBrowser.Providers.Music return _httpClient.GetResponse(new HttpRequestOptions { CancellationToken = cancellationToken, - Url = url, - ResourcePool = FanArtResourcePool + Url = url }); } diff --git a/MediaBrowser.Providers/TV/FanArt/FanartSeriesProvider.cs b/MediaBrowser.Providers/TV/FanArt/FanartSeriesProvider.cs index 223887415..ca30bb462 100644 --- a/MediaBrowser.Providers/TV/FanArt/FanartSeriesProvider.cs +++ b/MediaBrowser.Providers/TV/FanArt/FanartSeriesProvider.cs @@ -224,8 +224,7 @@ namespace MediaBrowser.Providers.TV return _httpClient.GetResponse(new HttpRequestOptions { CancellationToken = cancellationToken, - Url = url, - ResourcePool = FanartArtistProvider.Current.FanArtResourcePool + Url = url }); } |
