diff options
author | Julien Veyssier <eneiluj@posteo.net> | 2019-09-15 14:12:27 +0300 |
---|---|---|
committer | Julien Veyssier <eneiluj@posteo.net> | 2019-09-15 14:12:27 +0300 |
commit | 450cf03d43a8be7da48d0589749a9b35e592e2b8 (patch) | |
tree | c17df34e1e01857713d49a59a656f6b16d0c8cde /lib/Hooks | |
parent | 671421f4e4451ef48689cf112d47943e7b21f7f4 (diff) |
refs #138 acquire/release lock in file write hook
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
Diffstat (limited to 'lib/Hooks')
-rw-r--r-- | lib/Hooks/FileHooks.php | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Hooks/FileHooks.php b/lib/Hooks/FileHooks.php index f4f4503b..e51f34ee 100644 --- a/lib/Hooks/FileHooks.php +++ b/lib/Hooks/FileHooks.php @@ -18,6 +18,7 @@ use OCP\Files\FileInfo; use OCP\ILogger; use OCP\Files\Node; use OCP\Files\IRootFolder; +use OCP\Lock\ILockingProvider; use OCP\Util; use OCP\Share; @@ -46,10 +47,12 @@ class FileHooks { public function register() { $fileWriteCallback = function(\OCP\Files\Node $node) { if ($this->isUserNode($node) && $node->getSize() > 0) { + $node->lock(ILockingProvider::LOCK_SHARED); $isPhoto = $this->photofilesService->safeAddByFile($node); if (!$isPhoto) { $this->tracksService->safeAddByFile($node); } + $node->unlock(ILockingProvider::LOCK_SHARED); } }; $this->root->listen('\OC\Files', 'postWrite', $fileWriteCallback); |