Merge pull request #17256 from owncloud/locking-disablecallbackwrapperwhendisabled

Do not set callback wrapper when locking is disabled
This commit is contained in:
Vincent Petry 2015-06-30 18:28:28 +02:00
commit 16ff6cff54
1 changed files with 4 additions and 1 deletions

View File

@ -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 = '/') {
@ -1026,7 +1029,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)) {