Lines Matching defs:arc4random_global
596 struct arc4random_global_state arc4random_global = {
607 mutex_lock(&arc4random_global.lock);
608 (void)explicit_memset(&arc4random_global.prng, 0,
609 sizeof arc4random_global.prng);
616 mutex_unlock(&arc4random_global.lock);
623 mutex_unlock(&arc4random_global.lock);
660 arc4random_global.forksafe = true;
667 if (thr_keycreate(&arc4random_global.thread_key,
669 arc4random_global.per_thread = true;
676 arc4random_global.initialized = true;
685 thr_once(&arc4random_global.once, &arc4random_initialize);
689 prng = __predict_true(arc4random_global.per_thread)
690 ? thr_getspecific(arc4random_global.thread_key)
692 if (__predict_false(prng == NULL) && arc4random_global.per_thread) {
694 thr_setspecific(arc4random_global.thread_key, prng);
705 if (__predict_true(arc4random_global.forksafe)) {
706 mutex_lock(&arc4random_global.lock);
707 prng = &arc4random_global.prng;
738 if (__predict_false(prng == &arc4random_global.prng))
739 mutex_unlock(&arc4random_global.lock);
918 prng = arc4random_global.per_thread
919 ? thr_getspecific(arc4random_global.thread_key)
923 prng = &arc4random_global.prng;