浏览代码

update locks

Luke Pulverenti 8 年之前
父节点
当前提交
fd04fddca0

+ 3 - 6
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

+ 1 - 2
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
             });
         }
     }

+ 1 - 2
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
             });
         }
 

+ 1 - 2
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
             });
         }