diff options
Diffstat (limited to 'sys/dev/random/randomdev_soft.c')
-rw-r--r-- | sys/dev/random/randomdev_soft.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/sys/dev/random/randomdev_soft.c b/sys/dev/random/randomdev_soft.c index dfe589a..cef64ab 100644 --- a/sys/dev/random/randomdev_soft.c +++ b/sys/dev/random/randomdev_soft.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2000-2004 Mark R V Murray + * Copyright (c) 2000-2009 Mark R V Murray * Copyright (c) 2004 Robert N. M. Watson * All rights reserved. * @@ -56,7 +56,7 @@ __FBSDID("$FreeBSD$"); #define RANDOM_FIFO_MAX 256 /* How many events to queue up */ static void random_kthread(void *); -static void +static void random_harvest_internal(u_int64_t, const void *, u_int, u_int, u_int, enum esource); static int random_yarrow_poll(int event,struct thread *td); @@ -235,7 +235,7 @@ random_kthread(void *arg __unused) { STAILQ_HEAD(, harvest) local_queue; struct harvest *event = NULL; - int active, local_count; + int local_count; enum esource source; STAILQ_INIT(&local_queue); @@ -244,8 +244,6 @@ random_kthread(void *arg __unused) /* Process until told to stop */ for (; random_kthread_control >= 0;) { - active = 0; - /* Cycle through all the entropy sources */ mtx_lock_spin(&harvest_mtx); for (source = RANDOM_START; source < ENTROPYSOURCE; source++) { @@ -284,9 +282,8 @@ random_kthread(void *arg __unused) if (random_kthread_control == 1) random_kthread_control = 0; - /* Found nothing, so don't belabour the issue */ - if (!active) - pause("-", hz / 10); + /* Work done, so don't belabour the issue */ + pause("-", hz / 10); } @@ -381,7 +378,7 @@ random_yarrow_poll(int events, struct thread *td) revents = events & (POLLIN | POLLRDNORM); else selrecord(td, &random_systat.rsel); - + mtx_unlock(&random_reseed_mtx); return revents; } @@ -407,7 +404,7 @@ random_yarrow_block(int flag) mtx_unlock(&random_reseed_mtx); return error; -} +} /* Helper routine to perform explicit reseeds */ static void |