http://svn.php.net/viewvc?view=revision&revision=293253 Index: ext/standard/lcg.c =================================================================== --- ext/standard/lcg.c (revision 293036) +++ ext/standard/lcg.c (revision 293253) @@ -78,7 +78,7 @@ struct timeval tv; if (gettimeofday(&tv, NULL) == 0) { - LCG(s1) = tv.tv_sec ^ (~tv.tv_usec); + LCG(s1) = tv.tv_sec ^ (tv.tv_usec<<11); } else { LCG(s1) = 1; } @@ -88,6 +88,11 @@ LCG(s2) = (long) getpid(); #endif + /* Add entropy to s2 by calling gettimeofday() again */ + if (gettimeofday(&tv, NULL) == 0) { + LCG(s2) ^= (tv.tv_usec<<11); + } + LCG(seeded) = 1; }