|
shmop_open() se utiliza para crear o abrir un segmento de memoria compartida.
shmop_open() utiliza 4 parametros: clave, que es el identificador que el sistema utilizará para ese segmento de memoria compartida y que puede ser indicado tanto en formato decimal como hexadecimal. El segundo parámetro son las opciones que se pueden utilizar:
"a" para acceder (se activa SHM_RDONLY en el shmat) se utiliza esta opción para abrir un segmento de memoria compartida que ya existe en modo de solo lectura.
"c" para crear (se activa IPC_CREATE) se utiliza esta opción para crear un nuevo segmento de memoria compartida o para intentar abrir en modo de lectura y escritura un segmento que ya existe.
"w" para acceder en modo de lectura y escritura. Se utiliza esta opción para poder leer un segmento de memoria compartida y además poder escribir en el. Se trata de la opción más habitual en la mayoría de los casos.
"n" para crear un nuevo segmento de memoria compartida (se activan IPC_CREATE|IPC_EXCL) se utiliza esta opción para crear un nuevo segmento de memoria compartida a no ser que ya exista otro segmento de memoria compartida con la misma clave. Esta opción es útil por motivos de seguridad para evitar por ejemplo "condiciones de carrera" (en inglés "race conditions").
Nota: Nota: el tercer y cuarto parámetro deben ser igual a 0 (cero) si se está abriendo un segmento de memoria compartida existente. Si la función shmop_open() tiene éxito, devolverá un identificador que se puede utilizar posteriormente para acceder al segmento de memoria compartida que se ha creado.
En el ejemplo anterior se crea un nuevo segmento de memoria compartida cuya clave se ha generado con ayuda de la función ftok().
Hosting by: hurra.com
Generated: 2007-01-26 18:00:50