Farian a écrit :
C'est pire que ça : Le modulo devrait être fait sur MAXPROC et pas sur MAXPROC+1 (ou alors, MAXPROC représente le nombre maximum de processus -1, et le tableau est déclaré struct proc TPROC[MAXPROC+1], mais je n'y crois guère )
Si aucun processus n'est en RUN, alors il part en boucle infinie et bouffe de la CPU autant qu'il peut !
De plus, comme le srand est fait dans la fonction, on risque d'avoir à chaque fois le même processus choisi, si les états n'évouent pas : le getpid renvoyant toujours la même chose, on risque très fort d'avoir toujours la même séquence de nombre "aléatoires" qui va être renvoyée, donc, au final, toujours le même processus qui sera choisi
Vraiment, ce code n'est pas terrible !
|