[PATCH] random.4: Improve discussion or urandom, blocking reads, and signals

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,

While reworking the text of the random(4) page, I found
what appear to be some inaccuracies. Could I get some feedback
on the patch below?

Thanks,

Michael

    random.4: Improve discussion or urandom, blocking reads, and signals
    
    The text currently states that O_NONBLOCK has no effect for
    /dev/urandom, which is true.  It also says that reads from
    /dev/urandom are nonblocking.  This is at the least confusing.
    If one attempts large reads (say 10MB) from /dev/urandom
    there is an appreciable delay, and interruption by a signal
    handler will result in a short read. Amend the text to
    reflect this.
    
    Signed-off-by: Michael Kerrisk <mtk.manpages@xxxxxxxxx>

diff --git a/man4/random.4 b/man4/random.4
index db5d0a2..736cbde 100644
--- a/man4/random.4
+++ b/man4/random.4
@@ -46,7 +46,6 @@ When read, the
 .I /dev/urandom
 device returns random bytes using a pseudorandom
 number generator seeded from the entropy pool.
-Reads from this device are nonblocking.
 When read during early boot time, this device may return
 data prior to the entropy pool being initialized.
 If this is of concern in your application, use
@@ -88,8 +87,11 @@ When calling
 .BR read (2)
 for the device
 .IR /dev/urandom ,
-signals will not be handled until after the requested random bytes
-have been generated.
+reads of up to 256 bytes will return as many bytes as are requested
+and will not be interrupted by a signal handler.
+Reads with a buffer over this limit may return less than the
+requested number of bytes or fail with the error
+.BR EINTR .

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux