[C con Clase] Cola de mensajes IPC (C+Linux)

Núria Busom Figueres meteorit666 en hotmail.com
Sab Feb 14 20:34:32 CET 2009


Hola a todos, muchas gracias por lo de malloc/new. Sigo con problemillas con mi práctica.

Estoy simulando una partida de poker en C con hilos, cola de mensajes y memoria compartida.

Os cuento mi situación:
int DNumJugadores: contiene el nº de jugadores de mi partida
para la cola de mensajes creo: int *Id_Cola=malloc(DNumJugadores)

struct mensaje{

    long tipo_msg; 

    int msg;

}msgq;

y luego creo una cola de msg para cada uno de los jugadores:
if((Id_Cola[i]= msgget(llave, flag))<0) : error. Hasta aquí todo perfecto

pero aqui llega mi problema, si msgget funciona el vector de Id_Cola estará lleno de 0's.

if(msgsnd(Id_Cola[i], &msgq, sizeof(int), IPC_NOWAIT)<0) : error
y cuando mando 1msg no se como identificarlo, bueno de hecho aqui es cuando imprime el error y termina el proceso mediante exit(0)

Creo que he liado un poco mi explicación. El problema es que cuando quiero mandar un mensaje no se como identificar el hilo.
Teneis alguna sugerencia??? He estado mirando por internet, pero todos los ejemplos que he encontrado són con uno o dos hilos y entonces no crean un vector de identificadores como tengo que hacer yo.

Muchas gracias a todos.

_________________________________________________________________
Descubre cómo compartir tus fotos con Windows Live. ¡Pruébalo ya! 
http://home.live.com/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090214/bdf9e783/attachment.html>


Más información sobre la lista de distribución Cconclase