Código:
struct mensaje { long tipo; int x, y; }; int main() { struct mensaje m[2]; pid_t p[2]; for(i=0; i<2; i++) { if(p[i]) { for(;;) { moverCoche(m, i); } } } return 0; } void moverCoche(struct mensaje *m, i) { m[i].tipo = 1; m[i].x = 0; m[i].y = 0; if(msgsnd(buzon, &m[i], sizeof(m[i])-sizeof(long), IPC_NOWAIT) == -1) { exit(EXIT_FAILURE); } if(msgrcv(buzon, &m[i], sizeof(m[i]), 0, MSG_NOERROR) == -1) { exit(EXIT_FAILURE); } }