p4raw-id: //depot/perl@21093
assignment is executed, which is probably not what you want. (If it IS
what you want, put an & in front.)
+=item Your random numbers are not that random
+
+(F) When trying to initialise the random seed for hashes, Perl could
+not get any randomness out of your system. This usually indicates
+Something Very Wrong.
+
=back
=cut
myseed +=
(UV)(Drand01() * (NV)((1 << ((UVSIZE * 8 - RANDBITS))) - 1));
#endif /* RANDBITS < (UVSIZE * 8) */
- while (myseed == 0) /* Superparanoia. */
- myseed += (UV)(Drand01() * (NV)UV_MAX);
+ if (myseed == 0) { /* Superparanoia. */
+ myseed = (UV)(Drand01() * (NV)UV_MAX); /* One more chance. */
+ if (myseed == 0)
+ Perl_croak(aTHX_ "Your random numbers are not that random");
+ }
}
PL_hash_seed_set = TRUE;