diff options
-rw-r--r-- | lib/libc/stdlib/rand.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/lib/libc/stdlib/rand.c b/lib/libc/stdlib/rand.c index 353f59349e1d..bddb0f040302 100644 --- a/lib/libc/stdlib/rand.c +++ b/lib/libc/stdlib/rand.c @@ -44,7 +44,6 @@ __FBSDID("$FreeBSD$"); #include <stdbool.h> #include <stdlib.h> #include <syslog.h> -#include <machine/atomic.h> #include "un-namespace.h" #include "random.h" @@ -69,15 +68,11 @@ static struct __random_state *rand3_state; static void initialize_rand3(void) { - struct __random_state *state; int error; - state = allocatestate(TYPE_3); - error = initstate_r(state, 1, state->rst_randtbl, BREAK_3); + rand3_state = allocatestate(TYPE_3); + error = initstate_r(rand3_state, 1, rand3_state->rst_randtbl, BREAK_3); assert(error == 0); - if (!atomic_cmpset_rel_ptr((volatile uintptr_t *)&rand3_state, - (uintptr_t)NULL, (uintptr_t)state)) - free(state); } int |