update locks

pull/702/head
Luke Pulverenti 8 years ago
parent 4807be3b09
commit fd04fddca0

@ -560,8 +560,6 @@ namespace MediaBrowser.Providers.Manager
new MetadataOptions(); new MetadataOptions();
} }
private readonly ConcurrentDictionary<string, SemaphoreSlim> _fileLocks = new ConcurrentDictionary<string, SemaphoreSlim>();
/// <summary> /// <summary>
/// Saves the metadata. /// Saves the metadata.
/// </summary> /// </summary>
@ -585,6 +583,7 @@ namespace MediaBrowser.Providers.Manager
return SaveMetadata(item, updateType, _savers.Where(i => savers.Contains(i.Name, StringComparer.OrdinalIgnoreCase))); return SaveMetadata(item, updateType, _savers.Where(i => savers.Contains(i.Name, StringComparer.OrdinalIgnoreCase)));
} }
private readonly SemaphoreSlim _saveLock = new SemaphoreSlim(1,1);
/// <summary> /// <summary>
/// Saves the metadata. /// Saves the metadata.
/// </summary> /// </summary>
@ -614,9 +613,7 @@ namespace MediaBrowser.Providers.Manager
continue; continue;
} }
var semaphore = _fileLocks.GetOrAdd(path, key => new SemaphoreSlim(1, 1)); await _saveLock.WaitAsync().ConfigureAwait(false);
await semaphore.WaitAsync().ConfigureAwait(false);
try try
{ {
@ -629,8 +626,8 @@ namespace MediaBrowser.Providers.Manager
} }
finally finally
{ {
_saveLock.Release();
_libraryMonitor.ReportFileSystemChangeComplete(path, false); _libraryMonitor.ReportFileSystemChangeComplete(path, false);
semaphore.Release();
} }
} }
else else

@ -657,8 +657,7 @@ namespace MediaBrowser.Providers.Movies
return _httpClient.GetResponse(new HttpRequestOptions return _httpClient.GetResponse(new HttpRequestOptions
{ {
CancellationToken = cancellationToken, CancellationToken = cancellationToken,
Url = url, Url = url
ResourcePool = MovieDbResourcePool
}); });
} }
} }

@ -206,8 +206,7 @@ namespace MediaBrowser.Providers.Music
return _httpClient.GetResponse(new HttpRequestOptions return _httpClient.GetResponse(new HttpRequestOptions
{ {
CancellationToken = cancellationToken, CancellationToken = cancellationToken,
Url = url, Url = url
ResourcePool = FanArtResourcePool
}); });
} }

@ -224,8 +224,7 @@ namespace MediaBrowser.Providers.TV
return _httpClient.GetResponse(new HttpRequestOptions return _httpClient.GetResponse(new HttpRequestOptions
{ {
CancellationToken = cancellationToken, CancellationToken = cancellationToken,
Url = url, Url = url
ResourcePool = FanartArtistProvider.Current.FanArtResourcePool
}); });
} }

Loading…
Cancel
Save