Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/06/2014, 10:13
Avatar de stramin
stramin
 
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Shared Memory

Saludos!

Estoy tratando de hacer una inserción en memoria con shared memory, lo que intento es que se cree el espacio en memoria y luego se intercambie entre 1 y 0, pero algo está fallando.

Código PHP:
// abro el espacio 0xff3 de 8 bits, si no existe lo crea
$shm_id shmop_open(0xff3"c"07778);
if (!
$shm_id) die("No se pudo acceder la memoria");
// leo el valor de esta posicion
$shmr shmop_read($shm_id00);
echo 
"[reading:$shmr]";
// si el valor es 1 lo cambio por 0, y si es 0 lo cambio por 1, y guardo el resultado.
$shmw=($shmr)?shmop_write($shm_id"0"0):$shmw=shmop_write($shm_id"1"0);
die(
"[writing:$shmw]"); 
La primera vez que lo ejecuto devuelve esto:
[reading:][writing:1]

ya que está recién creado no hay salida, y luego se escribe 1, hasta aquí todo bien.

La segunda vez que lo ejecuto queda como:
[reading:0][writing:1]

y aquí está el problema, lee un 0 siendo que he escrito un 1, si vuelvo a ejecutarlo vuelve a quedar en 0, siendo que sigo escribiendo 1.

Que estoy haciendo mal? :(
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D