From: David du Colombier <0intro@gmail.com> Date: Sun, 1 Mar 2015 17:08:15 +0000 (+0100) Subject: runtime: don't use /dev/random on Plan 9 X-Git-Tag: go1.5beta1~1794 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=5c2233f261b5088c35c67b00021b25156b9af96e;p=gostls13.git runtime: don't use /dev/random on Plan 9 Plan 9 provides a /dev/random device to return a stream of random numbers. However, the method used to generate random numbers on Plan 9 is slow and reading from /dev/random may block. We don't want our Go programs to be significantly slowed down just to slightly improve the distribution of hash values. So, we do the same thing as NaCl and rely exclusively on extendRandom to generate pseudo-random numbers. Fixes #10028. Change-Id: I7e11a9b109c22f23608eb09c406b7c3dba31f26a Reviewed-on: https://go-review.googlesource.com/6386 Reviewed-by: Brad Fitzpatrick --- diff --git a/src/runtime/os1_plan9.go b/src/runtime/os1_plan9.go index 61b0397249..bba1f17e32 100644 --- a/src/runtime/os1_plan9.go +++ b/src/runtime/os1_plan9.go @@ -85,14 +85,9 @@ func crash() { *(*int)(nil) = 0 } -var random_dev = []byte("/dev/random\x00") - //go:nosplit func getRandomData(r []byte) { - fd := open(&random_dev[0], 0 /* O_RDONLY */, 0) - n := read(fd, unsafe.Pointer(&r[0]), int32(len(r))) - close(fd) - extendRandom(r, int(n)) + extendRandom(r, 0) } func goenvs() {