in reply to What is the truth about srand()?
OK, now we look in there, and we see that it just tries opening it if it can:$ grep /dev/urandom **/*.c util.c:4550:# define PERL_RANDOM_DEVICE "/dev/urandom"
So there's your answer. You can't know. It's not a configure constant. It just tries it, and if it fails, it doesn't use it./* This test is an escape hatch, this symbol isn't set by Configure. * +/ #ifndef PERL_NO_DEV_RANDOM #ifndef PERL_RANDOM_DEVICE /* /dev/random isn't used by default because reads from it will blo +ck * if there isn't enough entropy available. You can compile with * PERL_RANDOM_DEVICE to it if you'd prefer Perl to block until the +re * is enough real entropy to fill the seed. */ # define PERL_RANDOM_DEVICE "/dev/urandom" #endif fd = PerlLIO_open(PERL_RANDOM_DEVICE, 0); if (fd != -1) { if (PerlLIO_read(fd, (void*)&u, sizeof u) != sizeof u) u = 0; PerlLIO_close(fd); if (u) return u; } #endif
-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.
|
|---|