Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/04/2015, 09:29
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: Memoria compartida

Entiendo que estás trabajando en linux, por lo que ahora mismo, que estoy en windows, no puedo ayudarte mucho.

Sin embargo:

Código C:
Ver original
  1. memoria = (char *)'a';

No se si te estás dando cuenta, pero ahí arriba estás cargándote el puntero a la memoria compartida. Ahí "memoria" va a apuntar a la región de la memoria dada por 'a', es decir, a 0x01100001 (el carácter 'a' en binario)

Después llamas a

Código C:
Ver original
  1. if (shmdt(memoria) == -1)

y claro, estás haciendo un detach usando un puntero que no apunta a la memoria compartida.

Imagino que tu problema estará aquí, pero no puedo probarlo.

Un saludo.