Fixes random reads
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 21 Jan 2014 17:40:45 +0000 (09:40 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 21 Jan 2014 19:04:03 +0000 (11:04 -0800)
commitf41780111b721b4e55b7213af999bb82536ec4d7
treec9070bc25c97e93ae75e0c97c0dc89484f9792e1
parent1b09f71dd784d68251eb9cb00e2112e410259c42
Fixes random reads

This is the old plan9 style, with two 'independent' processes working at
the same time, and not using apipes.

But it's way too slow:

/ $ trandom 16
Read 16 bytes of random in 822003 microseconds
dc6bd80d 9b541b97 a063d7ab 27d7bbea
/ $
/ $ trandom 100
Read 100 bytes of random in 5192485 microseconds
fe50907c 5c5c7473 5d40b3fe 307fbf4c

I think it's slow since genrandom doesn't yield to processes.  When
we're done with our 16 bytes, we pause a bit before returning to
userspace.
kern/src/ns/random.c
tests/trandom.c [new file with mode: 0644]