CVSROOT:        /cvs
Module name:    src
Changes by:     dera...@cvs.openbsd.org 2011/01/06 21:56:52

Modified files:
        sys/dev        : rnd.c rndvar.h 

Log message:
substantial rewrite.  put a very thin mutex at the entropy-collection
side so that entropy events can come in from any kernel context.  place
a 2nd very thin mutex at the call-down path as well, so that any context can
request random data.  in the middle, meet with a bcopy that has no mutex,
but copying unlocked data is actually a benefit.
move the pool->MD5->RC4init sequence into a workq driven from a timeout,
so that we can do all the heavy work without any mutex held or IPL; only
grab the 2nd mutex to swap to a new RC4 state. (this workq design from tedu)
ok dlg tedu

Reply via email to