aboutsummaryrefslogtreecommitdiff
path: root/src/lib9
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib9')
-rw-r--r--src/lib9/truerand.c6
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");