From 244d76240086666ffdcc8ec0145f1e02605a3d85 Mon Sep 17 00:00:00 2001 From: Maksym Slesarenko Date: Mon, 23 Apr 2018 14:10:14 +0300 Subject: [PATCH] added ability to specify folder for flock --- .../DependencyInjection/FrameworkExtension.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php index 51aee716f43f5..9aca337c0292c 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php @@ -58,6 +58,7 @@ use Symfony\Component\Lock\Factory; use Symfony\Component\Lock\Lock; use Symfony\Component\Lock\LockInterface; +use Symfony\Component\Lock\Store\FlockStore; use Symfony\Component\Lock\Store\StoreFactory; use Symfony\Component\Lock\StoreInterface; use Symfony\Component\Messenger\Handler\MessageHandlerInterface; @@ -1377,6 +1378,14 @@ private function registerLockConfiguration(array $config, ContainerBuilder $cont case 'flock' === $storeDsn: $storeDefinition = new Reference('lock.store.flock'); break; + case 0 === strpos($storeDsn, 'flock://'): + $flockPath = substr($storeDsn, 8); + + $storeDefinitionId = '.lock.flock.store.'.$container->hash($storeDsn); + $container->register($storeDefinitionId, FlockStore::class)->addArgument($flockPath); + + $storeDefinition = new Reference($storeDefinitionId); + break; case 'semaphore' === $storeDsn: $storeDefinition = new Reference('lock.store.semaphore'); break;