라이브러리 업데이트 catfan/medoo 추가

This commit is contained in:
2018-07-23 21:27:26 +09:00
parent 3e81a4e3fe
commit 7b0cffcf30
15 changed files with 2180 additions and 42 deletions
+3 -3
View File
@@ -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
View File
@@ -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__);
}