From d6835f8dd6eb4ee2d397e682bb300b9f19ce23dc Mon Sep 17 00:00:00 2001 From: Claus Vium Date: Thu, 7 Feb 2019 21:05:58 +0100 Subject: [PATCH] Use the locking properly, this is not Python... --- .../TV/TheTVDB/TvDbClientManager.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Providers/TV/TheTVDB/TvDbClientManager.cs b/MediaBrowser.Providers/TV/TheTVDB/TvDbClientManager.cs index ca50d4c2b5..276622666d 100644 --- a/MediaBrowser.Providers/TV/TheTVDB/TvDbClientManager.cs +++ b/MediaBrowser.Providers/TV/TheTVDB/TvDbClientManager.cs @@ -90,16 +90,23 @@ namespace MediaBrowser.Providers.TV { return cachedValue; } - using (_cacheWriteLock) + + await _cacheWriteLock.WaitAsync().ConfigureAwait(false); + try { if (_cache.TryGetValue(key, out cachedValue)) { return cachedValue; } + var result = await resultFactory.Invoke(); - _cache.Set(key, result, DateTimeOffset.UtcNow.AddHours(1)); + _cache.Set(key, result, TimeSpan.FromHours(1)); return result; } + finally + { + _cacheWriteLock.Release(); + } } } }