/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Problemas en Sincronizacion de procesos

 
      Índice del Foro elrincondelc.com -> Linux
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
songohanda75



Registrado: 13 May 2009
Mensajes: 1

MensajePublicado: 13/05/2009 7:09 am
Título: Problemas en Sincronizacion de procesos

Hola, llevo unos días pegándome con un programa en el que se mezcla C con llamadas al Sistema de Linux.
La cuestión es que quiero analizar una serie de combinaciones divididas entre varios procesos.
Por ejemplo, si hay 64 posibilidades y lanzo 4 procesos, cada uno analizará 16. Para sincronizar los procesos entre ellos, cuando uno encuentra una combinación mejor que la mejor conocida hasta ese momento, envia una señal del tipo SIGUSR1 al grupo (previamente se crearon los procesos y se asociaron al mismo grupo). Una vez terminado el análisis de todas las posibilidades, envían una señal de SIGTERM y permanecen a la espera de que se les mande finalizar.

Mi problema:

para analizar las combinaciones hago un for:

for(combinacion_inicial=0;combinacion_inicial<combinacion_final;combinacion_final++){
Analizo las combinaciones.....
Si encuentro una mejor(dentro del for):
kill(0,SIGUSR1);
pause();
}

Esto hace que llego el SIGUSR1 a todos los procesos (incluso a él mismo) pero, al tener que poner la pause (sino, finaliza antes de que los demás procesos empiecen), no sé como continuar dentro del for para que siga analizando el resto de combinaciones. Vamos, que se muere en la primera mejor opción encontrada y no continua.

Alguna idea de como puedo solucionarlo?

Espero que haya quedado más o menos claro...

Muchas gracias.
Volver arriba
      Índice del Foro elrincondelc.com -> Linux
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com