Check first, then wait

This commit is contained in:
Ferdinand Kuhl 2022-05-16 12:08:39 +02:00
parent d294df5079
commit 24283b795f

View file

@ -74,13 +74,13 @@ class SessionLockRequestComponent implements ComponentInterface
$this->logger->debug('SessionLock: Try to get "' . $key . '"');
$timedOut = \time() + $this->secondsToWait;
while (!$lock->acquire()) {
\usleep(100000);
if (\time() >= $timedOut) {
throw new LockAcquiringException(
'Could not acquire the lock for "' . $key . '" in ' . $this->secondsToWait . ' seconds.',
1652687960
);
}
\usleep(100000);
}
$this->logger->debug('SessionLock: Acquired "' . $key . '"');
}