$this->key->
resetLifetime();
try { if (!
$this->store instanceof SharedLockStoreInterface
) { $this->logger?->
debug('Store does not support ReadLocks, fallback to WriteLock.',
['resource' =>
$this->key
]);
return $this->
acquire($blocking);
} if ($blocking) { if (!
$this->store instanceof BlockingSharedLockStoreInterface
) { while (true
) { try { $this->store->
saveRead($this->key
);
break;
} catch (LockConflictedException
) { usleep((100 +
random_int(-10, 10
)) * 1000
);
} } } else { $this->store->
waitAndSaveRead($this->key
);
} } else { $this->store->
saveRead($this->key
);
}