View Single Post
Old 27-01-2010, 15:48   #2
GioVesas
Member
 
Iscritto dal: Jun 2004
Cittā: Pecetto
Messaggi: 73
Se non ricordo male fork ritorna:
-1 in errore
0 per il child
> 0 per il parent.

Quindi io farei cosi:
Quote:
bool bParent=false;

for(i=0;i<NUM_PROCESSI;i++)
{

switch(lista[i]=fork())
{

case -1:

perror("Errore nell'esecuzione della fork.");

exit(1);

case 0:
bParent=false;
break;
default:
bParent=true;
lista[i]=getpid();
//printf(" lista [%d] = %d",i,lista[i]);
break;
}
if ( bParent==false)
goto somewhere; // non molto elegante, sbrigativa come esempio


}
for(i=0;i<NUM_PROCESSI;i++) printf(" lista [%d] = %d",i,lista[i]);
__________________
Gianni
GioVesas č offline   Rispondi citando il messaggio o parte di esso