From 46331af8069c7091c3128488db20d21ffc551672 Mon Sep 17 00:00:00 2001 From: japhie Date: Thu, 23 Jun 2005 22:02:08 +0000 Subject: [PATCH] - Move initializing big registers in cl_env to separate function to initialize them properly when creating new threads. --- src/c/big.d | 9 +++++++-- src/h/internal.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/c/big.d b/src/c/big.d index ba9fa8a26..8c245e510 100644 --- a/src/c/big.d +++ b/src/c/big.d @@ -280,13 +280,18 @@ mp_free(void *ptr, size_t size) cl_dealloc(x,size); } -void -init_big(void) +void init_big_registers(void) { int i; for (i = 0; i < 3; i++) { cl_env.big_register[i] = cl_alloc_object(t_bignum); big_register_free(cl_env.big_register[i]); } +} + +void +init_big(void) +{ + init_big_registers(); mp_set_memory_functions(mp_alloc, mp_realloc, mp_free); } diff --git a/src/h/internal.h b/src/h/internal.h index c244345b4..13c2378bd 100644 --- a/src/h/internal.h +++ b/src/h/internal.h @@ -25,6 +25,7 @@ extern void init_all_symbols(void); extern void init_alloc(void); extern void init_backq(void); extern void init_big(void); +extern void init_big_registers(void); #ifdef CLOS extern void init_clos(void); #endif