uint unpredictableSeed() { static bool seeded; static MinstdRand0 rand; if (!seeded) { rand.seed(getpid ^ cast(uint)getUTCtime); seeded = true; } rand.popFront; return cast(uint) (getUTCtime ^ rand.front); } If called from multiple threads at exactly the same time, unpredictableSeed gives every thread the same seed. This is annoying when running the same monte carlo simulation simultaneously in multiple threads, since I tend to spawn all of the threads at exactly the same time. Something like: (getpid + cast(uint) Thread.getThis) ^ cast(uint) getUTCtime might work well.
Fixed SVN.
Fixed dmd 2.037