diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib9/truerand.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib9/truerand.c b/src/lib9/truerand.c index aaf10f0a..04462e27 100644 --- a/src/lib9/truerand.c +++ b/src/lib9/truerand.c @@ -10,10 +10,12 @@ truerand(void) if(randfd < 0){ randfd = open("/dev/random", OREAD); + if(randfd < 0) + randfd = open("/dev/srandom", OREAD); /* OpenBSD */ + if(randfd < 0) + sysfatal("can't open /dev/random: %r"); fcntl(randfd, F_SETFD, FD_CLOEXEC); } - if(randfd < 0) - sysfatal("can't open /dev/random: %r"); for(i=0; i<sizeof(buf); i += n) if((n = readn(randfd, buf+i, sizeof(buf)-i)) < 0) sysfatal("can't read /dev/random: %r"); |