C/Visual C - problemas con semaforos

 
Vista:

problemas con semaforos

Publicado por manuel (16 intervenciones) el 03/03/2005 07:43:08
ocurre algo "extrano".

en main(), en este orden, si creo dos colas de mensajes y luego un semaforo, el programa no funciona.

PERO, si invierto el orden, primero creo el semaforo y luego las dos colas, entonces si funciona como esperado(eso creo).

cual puede ser el motivo?

aqui el codigo:

...(otras funciones)

...

int crea_semaforo(int& semid, struct sembuf* semaforo)

{

key_t semkey;
semkey= ftok("seminit", 'a');
semid= semget(semkey, 1, IPC_CREAT | 0666);
semaforo[0].sem_num= 0;
semaforo[0].sem_flg= 0;

return 0;
}

int main()
{
int semid= 0;
struct sembuf semaforo[0];
crea_semaforo(semid, semaforo);

// ...aqui creo las colas
//
// ... pero si creara el semaforo AQUI, despues de haber creado las colas
// el programa o no funciona o se traba despues de entrar.
//
//... aqui entro a un loop para enviar mensajes a otro proceso
return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder