summaryrefslogtreecommitdiff
path: root/libguile/gc-malloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/gc-malloc.c')
-rw-r--r--libguile/gc-malloc.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/libguile/gc-malloc.c b/libguile/gc-malloc.c
index f6138f89f..b2c73a104 100644
--- a/libguile/gc-malloc.c
+++ b/libguile/gc-malloc.c
@@ -102,6 +102,12 @@ static int scm_i_minyield_malloc;
static scm_t_mutex malloc_mutex;
void
+scm_gc_malloc_prehistory ()
+{
+ scm_i_plugin_mutex_init (&malloc_mutex, 0);
+}
+
+void
scm_gc_init_malloc (void)
{
scm_mtrigger = scm_getenv_int ("GUILE_INIT_MALLOC_LIMIT",
@@ -116,8 +122,6 @@ scm_gc_init_malloc (void)
if (scm_mtrigger < 0)
scm_mtrigger = SCM_DEFAULT_INIT_MALLOC_LIMIT;
-
- scm_i_plugin_mutex_init (&malloc_mutex, 0);
}
@@ -132,7 +136,7 @@ scm_realloc (void *mem, size_t size)
scm_i_plugin_mutex_lock (&malloc_mutex);
SCM_SYSCALL (ptr = realloc (mem, size));
- scm_i_plugin_mutex_lock (&malloc_mutex);
+ scm_i_plugin_mutex_unlock (&malloc_mutex);
if (ptr)
return ptr;