Bladeren bron

Fix releasing lock

Nils Fürniß 3 jaren geleden
bovenliggende
commit
d7d36a102a
1 gewijzigde bestanden met toevoegingen van 13 en 13 verwijderingen
  1. 13 13
      MediaBrowser.MediaEncoding/Attachments/AttachmentExtractor.cs

+ 13 - 13
MediaBrowser.MediaEncoding/Attachments/AttachmentExtractor.cs

@@ -93,9 +93,9 @@ namespace MediaBrowser.MediaEncoding.Attachments
 
             await semaphore.WaitAsync(cancellationToken).ConfigureAwait(false);
 
-            if (!Directory.Exists(outputPath))
+            try
             {
-                try
+                if (!Directory.Exists(outputPath))
                 {
                     await ExtractAllAttachmentsInternal(
                         _mediaEncoder.GetInputArgument(inputFile, mediaSource),
@@ -103,10 +103,10 @@ namespace MediaBrowser.MediaEncoding.Attachments
                         false,
                         cancellationToken).ConfigureAwait(false);
                 }
-                finally
-                {
-                    semaphore.Release();
-                }
+            }
+            finally
+            {
+                semaphore.Release();
             }
         }
 
@@ -120,26 +120,26 @@ namespace MediaBrowser.MediaEncoding.Attachments
 
             await semaphore.WaitAsync(cancellationToken).ConfigureAwait(false);
 
-            if (!File.Exists(Path.Join(outputPath, id)))
+            try
             {
-                try
+                if (!File.Exists(Path.Join(outputPath, id)))
                 {
                     await ExtractAllAttachmentsInternal(
                         inputArgument,
                         outputPath,
                         true,
                         cancellationToken).ConfigureAwait(false);
-                }
-                finally
-                {
+
                     if (Directory.Exists(outputPath))
                     {
                         File.Create(Path.Join(outputPath, id));
                     }
-
-                    semaphore.Release();
                 }
             }
+            finally
+            {
+                semaphore.Release();
+            }
         }
 
         private async Task ExtractAllAttachmentsInternal(