Edit report at https://bugs.php.net/bug.php?id=53173&edit=1
ID: 53173
Comment by: marc-bennewitz at arcor dot de
Reported by: marc-bennewitz at arcor dot de
Summary: shm_stat to get total & free
Status: Open
Type: Feature/Change Request
Package: Semaphore related
Operating System: Linux
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
what is the state of this issue ?
The patch exists for 9 month !
Previous Comments:
------------------------------------------------------------------------
[2010-10-26 21:18:55] marc-bennewitz at arcor dot de
Description:
------------
Adding function to get total size of memory and to get free size of memory of
the opened shm segment.
Test script:
---------------
>From test script:
// test errors
var_dump(shm_stat());
var_dump(shm_stat(1));
var_dump(shm_stat(""));
// open shm segment
$key = ftok(dirname(__FILE__)."/008.phpt", 't');
$shmId = shm_attach($key, 1024);
var_dump($shmId);
// first stat call
var_dump(shm_stat($shmId));
// write data + stat
var_dump(shm_put_var($shmId, 10, '10'));
var_dump(shm_put_var($shmId, 20, '20'));
var_dump(shm_put_var($shmId, 30, '30'));
var_dump(shm_stat($shmId));
// remove data + stat
var_dump(shm_remove_var($shmId, 20));
var_dump(shm_stat($shmId));
// re-open shm segment with different size + stat
var_dump(shm_detach($shmId));
$shmId = shm_attach($key, 10240);
var_dump($shmId);
var_dump(shm_stat($shmId));
// remove shm segment + stat
var_dump(shm_remove($shmId));
var_dump(shm_stat($shmId));
echo "Done\n";
Expected result:
----------------
Warning: shm_stat() expects exactly 1 parameter, 0 given in %s on line %d
bool(false)
Warning: shm_stat() expects parameter 1 to be resource, integer given in %s on
line %d
bool(false)
Warning: shm_stat() expects parameter 1 to be resource, string given in %s on
line %d
bool(false)
resource(%d) of type (sysvshm)
array(2) {
["total"]=>
int(1024)
["free"]=>
int(%d)
}
bool(true)
bool(true)
bool(true)
array(2) {
["total"]=>
int(1024)
["free"]=>
int(%d)
}
bool(true)
array(2) {
["total"]=>
int(1024)
["free"]=>
int(%d)
}
bool(true)
resource(%d) of type (sysvshm)
array(2) {
["total"]=>
int(1024)
["free"]=>
int(%d)
}
bool(true)
array(2) {
["total"]=>
int(1024)
["free"]=>
int(%d)
}
Done
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=53173&edit=1