diff --git a/src/NzbDrone.Core/MediaCover/MediaCoverService.cs b/src/NzbDrone.Core/MediaCover/MediaCoverService.cs index 223dd0d939..55c72ae92f 100644 --- a/src/NzbDrone.Core/MediaCover/MediaCoverService.cs +++ b/src/NzbDrone.Core/MediaCover/MediaCoverService.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Net; using System.Threading; +using System.Threading.Tasks; using NLog; using NzbDrone.Common; using NzbDrone.Common.Disk; @@ -141,7 +142,7 @@ private string GetMovieCoverPath(int movieId) return Path.Combine(_coverRootFolder, movieId.ToString()); } - private bool EnsureCovers(Movie movie) + private async Task EnsureCoversAsync(Movie movie) { var updated = false; var toResize = new List>(); @@ -184,7 +185,7 @@ private bool EnsureCovers(Movie movie) try { - _semaphore.Wait(); + await _semaphore.WaitAsync(); foreach (var tuple in toResize) { @@ -261,9 +262,9 @@ private static string GetExtension(MediaCoverTypes coverType) }; } - public void HandleAsync(MovieUpdatedEvent message) + public async void HandleAsync(MovieUpdatedEvent message) { - var updated = EnsureCovers(message.Movie); + var updated = await EnsureCoversAsync(message.Movie); _eventAggregator.PublishEvent(new MediaCoversUpdatedEvent(message.Movie, updated)); }