라이브러리 업데이트 catfan/medoo 추가
This commit is contained in:
+3
-3
@@ -79,12 +79,12 @@ class FlockStore implements StoreInterface
|
||||
|
||||
// Silence error reporting
|
||||
set_error_handler(function ($type, $msg) use (&$error) { $error = $msg; });
|
||||
if (!$handle = fopen($fileName, 'r')) {
|
||||
if (!$handle = fopen($fileName, 'r+') ?: fopen($fileName, 'r')) {
|
||||
if ($handle = fopen($fileName, 'x')) {
|
||||
chmod($fileName, 0444);
|
||||
} elseif (!$handle = fopen($fileName, 'r')) {
|
||||
} elseif (!$handle = fopen($fileName, 'r+') ?: fopen($fileName, 'r')) {
|
||||
usleep(100); // Give some time for chmod() to complete
|
||||
$handle = fopen($fileName, 'r');
|
||||
$handle = fopen($fileName, 'r+') ?: fopen($fileName, 'r');
|
||||
}
|
||||
}
|
||||
restore_error_handler();
|
||||
|
||||
+9
-3
@@ -64,8 +64,14 @@ class SemaphoreStore implements StoreInterface
|
||||
return;
|
||||
}
|
||||
|
||||
$resource = sem_get(crc32($key));
|
||||
$acquired = sem_acquire($resource, !$blocking);
|
||||
$keyId = crc32($key);
|
||||
$resource = sem_get($keyId);
|
||||
$acquired = @sem_acquire($resource, !$blocking);
|
||||
|
||||
while ($blocking && !$acquired) {
|
||||
$resource = sem_get($keyId);
|
||||
$acquired = @sem_acquire($resource);
|
||||
}
|
||||
|
||||
if (!$acquired) {
|
||||
throw new LockConflictedException();
|
||||
@@ -86,7 +92,7 @@ class SemaphoreStore implements StoreInterface
|
||||
|
||||
$resource = $key->getState(__CLASS__);
|
||||
|
||||
sem_release($resource);
|
||||
sem_remove($resource);
|
||||
|
||||
$key->removeState(__CLASS__);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user