push yarrow locking down into the yarrow code to reduce contention
authorKen Raeburn <raeburn@mit.edu>
Sat, 30 Oct 2004 00:56:30 +0000 (00:56 +0000)
committerKen Raeburn <raeburn@mit.edu>
Sat, 30 Oct 2004 00:56:30 +0000 (00:56 +0000)
commit78a29e652aeb95c0853c14c9ad4c44fc7952aff9
treeeea3a4c08e9745e96e63490f7a49bee3429894c4
parentd77e27a7e5b2bc52b06fb867e4e28826b1d50ebe
push yarrow locking down into the yarrow code to reduce contention

This seems to speed up creating a krb5_context a little bit, when it happens
a lot in multiple threads.

* prng.c (yarrow_lock): Rename to krb5int_yarrow_lock via macro, and change to
be non-static.
(krb5int_prng_init): Call do_yarrow_init here.
(krb5_c_random_add_entropy): Don't call it here.  Don't lock the mutex, either.
(krb5_c_random_make_octets): Don't lock the mutex.
* yarrow/ylock.h: Include k5-thread.h.
(krb5int_yarrow_lock): Declare.
(LOCK, UNLOCK): Define as macros using the k5_mutex_ macros.

ticket: new

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16846 dc483132-0cff-0310-8789-dd5450dbe970
src/lib/crypto/ChangeLog
src/lib/crypto/prng.c
src/lib/crypto/yarrow/ChangeLog
src/lib/crypto/yarrow/ylock.h