Nils Fürniß il y a 3 ans
Parent
commit
b4bb82b6d7
1 fichiers modifiés avec 9 ajouts et 12 suppressions
  1. 9 12
      MediaBrowser.MediaEncoding/Attachments/AttachmentExtractor.cs

+ 9 - 12
MediaBrowser.MediaEncoding/Attachments/AttachmentExtractor.cs

@@ -89,12 +89,12 @@ namespace MediaBrowser.MediaEncoding.Attachments
             string outputPath,
             CancellationToken cancellationToken)
         {
-            if (!Directory.Exists(outputPath))
-            {
-                var semaphore = _semaphoreLocks.GetOrAdd(outputPath, key => new SemaphoreSlim(1, 1));
+            var semaphore = _semaphoreLocks.GetOrAdd(outputPath, key => new SemaphoreSlim(1, 1));
 
-                await semaphore.WaitAsync(cancellationToken).ConfigureAwait(false);
+            await semaphore.WaitAsync(cancellationToken).ConfigureAwait(false);
 
+            if (!Directory.Exists(outputPath))
+            {
                 try
                 {
                     await ExtractAllAttachmentsInternal(
@@ -116,12 +116,12 @@ namespace MediaBrowser.MediaEncoding.Attachments
             string outputPath,
             CancellationToken cancellationToken)
         {
-            if (!File.Exists(Path.Join(outputPath, id)))
-            {
-                var semaphore = _semaphoreLocks.GetOrAdd(outputPath, key => new SemaphoreSlim(1, 1));
+            var semaphore = _semaphoreLocks.GetOrAdd(outputPath, key => new SemaphoreSlim(1, 1));
 
-                await semaphore.WaitAsync(cancellationToken).ConfigureAwait(false);
+            await semaphore.WaitAsync(cancellationToken).ConfigureAwait(false);
 
+            if (!File.Exists(Path.Join(outputPath, id)))
+            {
                 try
                 {
                     await ExtractAllAttachmentsInternal(
@@ -158,10 +158,7 @@ namespace MediaBrowser.MediaEncoding.Attachments
                 throw new ArgumentNullException(nameof(outputPath));
             }
 
-            if (!Directory.Exists(outputPath))
-            {
-                Directory.CreateDirectory(outputPath);
-            }
+            Directory.CreateDirectory(outputPath);
 
             var processArgs = string.Format(
                 CultureInfo.InvariantCulture,