random_seed: allow to block on /dev/random
authorMåns Rullgård <mans@mansr.com>
Thu, 1 Jul 2010 11:40:50 +0000 (11:40 +0000)
committerMåns Rullgård <mans@mansr.com>
Thu, 1 Jul 2010 11:40:50 +0000 (11:40 +0000)
If both /dev/random and /dev/urandom failed to return data, an
uninitialised value might be returned.  Since most systems have a
non-blocking /dev/urandom or have /dev/random with similar properties,
the chance of blocking is minimal, and the alternative of returning
non-random data is worse.

Originally committed as revision 23930 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavutil/random_seed.c

index a2b3885..b9222fc 100644 (file)
@@ -31,9 +31,6 @@ static int read_random(uint32_t *dst, const char *file)
 
     if (fd == -1)
         return -1;
-#if HAVE_FCNTL && defined(O_NONBLOCK)
-    if (fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) | O_NONBLOCK) != -1)
-#endif
         err = read(fd, dst, sizeof(*dst));
     close(fd);