static unsigned long SeedRandom (void) { unsigned long seed; #ifdef TRI_HAVE_GETTIMEOFDAY struct timeval tv; /* ignore result */ gettimeofday(&tv, 0); seed = (unsigned long)(tv.tv_sec); seed ^= (unsigned long)(tv.tv_usec); #else seed = (unsigned long) time(0); #endif seed ^= (unsigned long)(TRI_CurrentProcessId() << 8); seed ^= (unsigned long)(TRI_CurrentProcessId() << 16); seed ^= (unsigned long)(TRI_CurrentProcessId() << 24); seed ^= (unsigned long)(TRI_CurrentThreadId()); return seed; }
static unsigned long SeedRandom (void) { unsigned long seed; #ifdef TRI_HAVE_GETTIMEOFDAY struct timeval tv; int result; #endif seed = (unsigned long) time(0); #ifdef TRI_HAVE_GETTIMEOFDAY result = gettimeofday(&tv, 0); seed ^= (unsigned long)(tv.tv_sec); seed ^= (unsigned long)(tv.tv_usec); seed ^= (unsigned long)(result); #endif seed ^= (unsigned long)(TRI_CurrentProcessId()); seed ^= (unsigned long)(TRI_CurrentThreadId()); return seed; }