Skip to content

Commit 50ddc73

Browse files
committed
Fix shmop error handling
Behavior changed in PHP 8.0.
1 parent f6fe35f commit 50ddc73

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

‎src/SharedMemoryParcel.php‎

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -377,8 +377,13 @@ private function readSegment(int $offset, int $size): string
377377
{
378378
\assert($this->handle !== null);
379379

380-
/** @psalm-suppress InvalidArgument Psalm needs to be updated for ext-shmop using objects. */
381-
return \shmop_read($this->handle, $offset, $size);
380+
try {
381+
return \shmop_read($this->handle, $offset, $size);
382+
} catch (\ValueError $error) {
383+
throw new ParcelException(
384+
'Failed to read from shared memory block: ' . ($error->getMessage() ?? 'unknown error')
385+
);
386+
}
382387
}
383388

384389
/**
@@ -392,11 +397,11 @@ private function writeSegment(string $data): void
392397
{
393398
\assert($this->handle !== null);
394399

395-
/** @psalm-suppress InvalidArgument Psalm needs to be updated for ext-shmop using objects. */
396-
if (!\shmop_write($this->handle, $data, 0)) {
397-
$error = \error_get_last();
400+
try {
401+
\shmop_write($this->handle, $data, 0);
402+
} catch (\ValueError $error) {
398403
throw new ParcelException(
399-
'Failed to write to shared memory block: ' . ($error['message'] ?? 'unknown error')
404+
'Failed to write to shared memory block: ' . ($error->getMessage() ?? 'unknown error')
400405
);
401406
}
402407
}

0 commit comments

Comments
 (0)