diff options
Diffstat (limited to 'lib/private/PreviewManager.php')
-rw-r--r-- | lib/private/PreviewManager.php | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/private/PreviewManager.php b/lib/private/PreviewManager.php index 0d08ef3eba5..87e709e9bcc 100644 --- a/lib/private/PreviewManager.php +++ b/lib/private/PreviewManager.php @@ -182,7 +182,15 @@ class PreviewManager implements IPreview { * @since 11.0.0 - \InvalidArgumentException was added in 12.0.0 */ public function getPreview(File $file, $width = -1, $height = -1, $crop = false, $mode = IPreview::MODE_FILL, $mimeType = null) { - return $this->getGenerator()->getPreview($file, $width, $height, $crop, $mode, $mimeType); + $previewConcurrency = $this->getGenerator()->getNumConcurrentPreviews('preview_concurrency_all'); + $sem = Generator::guardWithSemaphore(Generator::SEMAPHORE_ID_ALL, $previewConcurrency); + try { + $preview = $this->getGenerator()->getPreview($file, $width, $height, $crop, $mode, $mimeType); + } finally { + Generator::unguardWithSemaphore($sem); + } + + return $preview; } /** |