Ciao, vorrei sapere se, volendo calcolare il tempo necessario per effettuare una fork(), e' indifferente far terminare immediatamente o meno il figlio nato dalla fork stessa.
Ovvero: questi 2 modi di calcolare il tempo di fork si "equivalgono" ?

Modo 1:
codice:
int pid;
long int forkTime;

struct timeval * start = (struct timeval*) malloc(sizeof(struct timeval));
struct timeval * end =  (struct timeval*) malloc(sizeof(struct timeval));

gettimeofday(start, NULL);

pid = fork();/*Ometto il controllo sull'errore per brevita'...*/
if (pid == 0)
   exit(EXIT_SUCCESS);
/*Qui arriva solo il padre*/

gettimeofday(end, NULL);

forkTime = (end->tv_sec - start->tv_sec) * 1000000 + (end->tv_usec - start->tv_usec); /*Tempo in microsecondi/*

free(start);
free(end);
Modo 2:
codice:
 
int pid;
long int forkTime;

struct timeval * start = (struct timeval*) malloc(sizeof(struct timeval));
struct timeval * end =  (struct timeval*) malloc(sizeof(struct timeval));

gettimeofday(start, NULL);

pid = fork();/*Ometto il controllo sull'errore per brevita'...*/
if (pid == 0)
{
     /*Qua faccio qualcosa*/
    /*Ad esempio...*-/
    sleep(2); 
    exit(EXIT_SUCCESS);
}

/*Qui arriva solo il padre*/

gettimeofday(end, NULL);

forkTime = (end->tv_sec - start->tv_sec) * 1000000 + (end->tv_usec - start->tv_usec); /*Tempo in microsecondi/*

free(start);
free(end);
Grazie !