From afd83caf69b2095cf401dd347b48fce891a1af86 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Tue, 30 Jun 2015 13:45:41 +0200 Subject: [PATCH] Do not set callback wrapper when locking is disabled --- lib/private/files/view.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/private/files/view.php b/lib/private/files/view.php index 0c3bc54a41..5fa6a0a051 100644 --- a/lib/private/files/view.php +++ b/lib/private/files/view.php @@ -79,6 +79,8 @@ class View { */ private $lockingProvider; + private $lockingEnabled; + /** * @param string $root * @throws \Exception If $root contains an invalid path @@ -94,6 +96,7 @@ class View { $this->fakeRoot = $root; $this->updater = new Updater($this); $this->lockingProvider = \OC::$server->getLockingProvider(); + $this->lockingEnabled = !($this->lockingProvider instanceof \OC\Lock\NoopLockingProvider); } public function getAbsolutePath($path = '/') { @@ -1021,7 +1024,7 @@ class View { } $unlockLater = false; - if ($operation === 'fopen' and is_resource($result)) { + if ($this->lockingEnabled && $operation === 'fopen' && is_resource($result)) { $unlockLater = true; $result = CallbackWrapper::wrap($result, null, null, function () use ($hooks, $path) { if (in_array('write', $hooks)) {