Beispiel #1
0
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;
}
Beispiel #2
0
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;
}
Beispiel #3
0
uint64_t TRI_ProcessSizeSelf () {
  return TRI_ProcessSize(TRI_CurrentProcessId());
}
Beispiel #4
0
TRI_process_info_t TRI_ProcessInfoSelf () {
  return TRI_ProcessInfo(TRI_CurrentProcessId());
}