PHP: Hypertext Preprocessor (original) (raw)

shm_remove

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_remove — Removes shared memory from Unix systems

Description

Parameters

shm

A shared memory segment obtained from shm_attach().

Return Values

Returns [true](reserved.constants.php#constant.true) on success or [false](reserved.constants.php#constant.false) on failure.

Found A Problem?

HansRich

10 years ago

`WARNING: this function WILL NOT destroy the memory segment if there are other processes attached to it, but it will return TRUE anyways!

You will have to try to access the segment again after destroying it to make sure it was relly destroyed.

`

aaron DURP segura DURP gmail DURP com

18 years ago

`It appears that you must be connected to the shm segment in order to remove it.

works, while

produces "Warning: shm_remove(): The parameter is not a valid shm_identifier ..."

`

cu at ulakbim dot gov dot tr

25 years ago

`Though it says shm_identifier in
int shm_remove(int shm_identifier);
and
shm_attach() returns an id that that can be used to access the System V...

a snippet like this:
shm=shmattach(shm=shm_attach(shm=shmattach(key); // do whatever... shm_remove($shm); ?>

produces an error like
Warning: 2(which is the value of $shm) is not a existing SysV shared memory key in /usr/cu/web/sema.php on line 44...

The documentation confused me a bit. I thought shm_remove would get the shm handle/id that returns from shm_attach, not the key given to shm_attach. So, use instead:
shm_remove($key);

which is what is intended indeed.

`