while(1){
len = sizeof(cli_add);
if((conn_fd=accept(list_fd,(struct sockaddr*) &cli_add,&len))<0){
perror("errore nell' esecuzione della accept\n");
exit(1);
}
printf("pid %d: prima di fork \n", getpid());
printf("pid %d: valore di i prima di proxy: %d\n", getpid(),i);
if((pid=fork())<0){
perror("errore nella creazione del figlio\n");
exit(1);
}
if(pid==0){ // processo figlio
printf("pid %d: valore di i prima di proxy ora sto nel figlio: %d\n", getpid(),i);
childpid=getpid();
proxyhttp(conn_fd);
printf("pid %d: valore di i dopo proxy: %d\n",getpid(),i);
exit(0);
}
else{ // processo padre
close(conn_fd);
i++;
j++;
printf("SONOOOOOOOOOOOOOOOOOO QUIIIIIIIIIIIIII\n");
//while(waitpid(childpid,NULL,0)>0);
aggiornatestarich(&testa,q); usando la prima versione di aggiornatesta
}
}
exit(0);
}