This is the mail archive of the
cygwin-cvs@cygwin.com
mailing list for the Cygwin project.
[newlib-cygwin] srandom: Replace accessing /dev/random by equivalent getentropy call
- From: Corinna Vinschen <corinna at sourceware dot org>
- To: cygwin-cvs at sourceware dot org
- Date: 20 Mar 2016 21:29:14 -0000
- Subject: [newlib-cygwin] srandom: Replace accessing /dev/random by equivalent getentropy call
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=2519f0ef0c24e4a0fec98b58e6f3481d5dd57acd
commit 2519f0ef0c24e4a0fec98b58e6f3481d5dd57acd
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Sun Mar 20 22:29:03 2016 +0100
srandom: Replace accessing /dev/random by equivalent getentropy call
/dev/random calls getentropy. So there's no good reason to go out of
our way to open /dev/random just to call getentropy anyway.
* random.cc (srandomdev): Drop opening /dev/random in favor of
calling getentropy.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/cygwin/random.cc | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/winsup/cygwin/random.cc b/winsup/cygwin/random.cc
index fe1ac08..8cccade 100644
--- a/winsup/cygwin/random.cc
+++ b/winsup/cygwin/random.cc
@@ -299,7 +299,6 @@ dummy (unsigned volatile long *x)
void
srandomdev()
{
- int fd, done;
size_t len;
if (rand_type == TYPE_0)
@@ -307,15 +306,7 @@ srandomdev()
else
len = rand_deg * sizeof state[0];
- done = 0;
- fd = open("/dev/random", O_RDONLY, 0);
- if (fd >= 0) {
- if (read(fd, (void *) state, len) == (ssize_t) len)
- done = 1;
- close(fd);
- }
-
- if (!done) {
+ if (getentropy ((void *) state, len)) {
struct timeval tv;
unsigned long junk;