summaryrefslogtreecommitdiff
path: root/libguile/gc-segment.c
diff options
context:
space:
mode:
authorHan-Wen Nienhuys <hanwen@lilypond.org>2002-09-05 21:55:33 +0000
committerHan-Wen Nienhuys <hanwen@lilypond.org>2002-09-05 21:55:33 +0000
commitdac04e9fb9fe0fcd39a375b57f8380e1798c7ef7 (patch)
tree670617a4d40d13a090b543c5b5984dff1b61fbf5 /libguile/gc-segment.c
parentffd724008bab4ee230af0a9210b19166b2c04f71 (diff)
downloadguile-dac04e9fb9fe0fcd39a375b57f8380e1798c7ef7.tar.gz
* gc-segment.c (scm_i_make_initial_segment): check user settings
for sanity. * gc-malloc.c (scm_gc_init_malloc): check user settings for sanity. (scm_gc_register_collectable_memory): prevent overflow of memory counts. * gc-freelist.c (scm_init_freelist): check user settings for sanity. * gc-malloc.c (scm_gc_register_collectable_memory): use floats; these won't ever wrap around with high memory usage. * gc-freelist.c: include <stdio.h> * gc-malloc.c: add DEBUGINFO for mtrigger GCs.
Diffstat (limited to 'libguile/gc-segment.c')
-rw-r--r--libguile/gc-segment.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/libguile/gc-segment.c b/libguile/gc-segment.c
index ec0c2cf80..1596561b0 100644
--- a/libguile/gc-segment.c
+++ b/libguile/gc-segment.c
@@ -520,12 +520,15 @@ scm_i_get_new_heap_segment (scm_t_cell_type_statistics *freelist, policy_on_erro
return -1;
}
-
-
void
-scm_i_make_initial_segment (size_t init_heap_size, scm_t_cell_type_statistics *freelist)
+scm_i_make_initial_segment (int init_heap_size, scm_t_cell_type_statistics *freelist)
{
scm_t_heap_segment * seg = scm_i_make_empty_heap_segment (freelist);
+
+ if (init_heap_size < 1)
+ {
+ init_heap_size = SCM_DEFAULT_INIT_HEAP_SIZE_1;
+ }
if (scm_i_initialize_heap_segment_data (seg, init_heap_size))
{