summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/private/files/view.php7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/private/files/view.php b/lib/private/files/view.php
index 0c3bc54a41d..f2df2eb0f69 100644
--- a/lib/private/files/view.php
+++ b/lib/private/files/view.php
@@ -631,7 +631,12 @@ class View {
}
$this->lockFile($path1, ILockingProvider::LOCK_SHARED, true);
- $this->lockFile($path2, ILockingProvider::LOCK_SHARED, true);
+ try {
+ $this->lockFile($path2, ILockingProvider::LOCK_SHARED, true);
+ } catch (LockedException $e) {
+ $this->unlockFile($path1, ILockingProvider::LOCK_SHARED);
+ throw $e;
+ }
$run = true;
if ($this->shouldEmitHooks() && (Cache\Scanner::isPartialFile($path1) && !Cache\Scanner::isPartialFile($path2))) {