Hi
I'm trying to generate random numbers both in parent process and the child process. But I get the same random number in both processes. Why doesn't it generate different numbers altough I seed random number generator?
Here's my code:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <time.h>
void seedit(void)
{
struct timeval tv;
gettimeofday(&tv, NULL);
srand(tv.tv_sec * tv.tv_usec);
}
int main()
{
int pid;
seedit();
pid = fork();
if (pid==0)
{
int r = rand()%10 + 1;
printf("[CHILD] sleeping %d sec\n", r);
sleep(r);
}
else if (pid>0)
{
int r = rand()%10 + 1;
printf("[PARENT] sleeping %d sec\n", r);
sleep(r);
}
else
{
}
}