Skip to content

Commit 2e18b30

Browse files
committed
Convert resource to object in Sysvshm extension
Closes GH-5499
1 parent aa754ba commit 2e18b30

File tree

11 files changed

+234
-145
lines changed

11 files changed

+234
-145
lines changed

UPGRADING

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,11 @@ PHP 8.0 UPGRADE NOTES
448448
Return value checks using is_resource() should be replaced with checks
449449
for `false`.
450450

451+
- Sysvshm:
452+
. shm_attach() will now return an SysvSharedMemory object rather than a resource.
453+
Return value checks using is_resource() should be replaced with checks
454+
for `false`.
455+
451456
- tidy:
452457
. The $use_include_path parameter, which was not used internally, has been
453458
removed from tidy_repair_string().

ext/sysvsem/tests/sysv.phpt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ if (! sem_acquire($sem_id)) {
2929
}
3030
echo "Success acquire semaphore.\n";
3131

32-
$shm_id = shm_attach($SHMKEY, $MEMSIZE);
32+
$shm_id = shm_attach($SHMKEY, $MEMSIZE);
3333
if ($shm_id === FALSE) {
3434
echo "Fail to attach shared memory.\n";
3535
sem_remove($sem_id);
3636
exit;
3737
}
38-
echo "Success to attach shared memory : $shm_id.\n";
38+
echo "Success to attach shared memory.\n";
3939

4040
// Write variable 1
4141
if (!shm_put_var($shm_id, 1, "Variable 1")) {
@@ -48,7 +48,7 @@ echo "Write var1 to shared memory.\n";
4848

4949
// Write variable 2
5050
if (!shm_put_var($shm_id, 2, "Variable 2")) {
51-
echo "Fail to put var 2 on shared memory $shm_id.\n";
51+
echo "Fail to put var 2 on shared memory.\n";
5252
sem_remove($sem_id);
5353
shm_remove ($shm_id);
5454
exit;
@@ -58,15 +58,15 @@ echo "Write var2 to shared memory.\n";
5858
// Read variable 1
5959
$var1 = shm_get_var ($shm_id, 1);
6060
if ($var1 === FALSE) {
61-
echo "Fail to retrieve Var 1 from Shared memory $shm_id, return value=$var1.\n";
61+
echo "Fail to retrieve Var 1 from Shared memory, return value=$var1.\n";
6262
} else {
6363
echo "Read var1=$var1.\n";
6464
}
6565

6666
// Read variable 1
6767
$var2 = shm_get_var ($shm_id, 2);
6868
if ($var1 === FALSE) {
69-
echo "Fail to retrieve Var 2 from Shared memory $shm_id, return value=$var2.\n";
69+
echo "Fail to retrieve Var 2 from Shared memory, return value=$var2.\n";
7070
} else {
7171
echo "Read var2=$var2.\n";
7272
}
@@ -81,7 +81,7 @@ if (!sem_release($sem_id)) {
8181
if (shm_remove ($shm_id)) {
8282
echo "Shared memory successfully removed from SysV.\n";
8383
} else {
84-
echo "Fail to remove $shm_id shared memory from SysV.\n";
84+
echo "Fail to remove shared memory from SysV.\n";
8585
}
8686

8787
// Remove semaphore
@@ -101,7 +101,7 @@ echo "End.\n";
101101
Start.
102102
Got semaphore.
103103
Success acquire semaphore.
104-
Success to attach shared memory : %s.
104+
Success to attach shared memory.
105105
Write var1 to shared memory.
106106
Write var2 to shared memory.
107107
Read var1=Variable 1.

ext/sysvshm/php_sysvshm.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,7 @@ extern zend_module_entry sysvshm_module_entry;
3838
# include <sys/shm.h>
3939
#endif
4040

41-
#define PHP_SHM_RSRC_NAME "sysvshm"
42-
4341
typedef struct {
44-
int le_shm;
4542
zend_long init_mem;
4643
} sysvshm_module;
4744

@@ -64,6 +61,7 @@ typedef struct {
6461
key_t key; /* key set by user */
6562
zend_long id; /* returned by shmget */
6663
sysvshm_chunk_head *ptr; /* memory address of shared memory */
64+
zend_object std;
6765
} sysvshm_shm;
6866

6967
PHP_MINIT_FUNCTION(sysvshm);

0 commit comments

Comments
 (0)