diff --git a/src/foreign/foreign.c b/src/foreign/foreign.c index 52cab9f480..b5c486d98d 100644 --- a/src/foreign/foreign.c +++ b/src/foreign/foreign.c @@ -2689,6 +2689,10 @@ void ctype_printer(Scheme_Object *ctype, int dis, Scheme_Print_Params *pp) /*****************************************************************************/ /* Initialization */ +/* types need to be initialized before places can spawn + * types become entries in the GC mark and fixup tables + * this function should initialize read-only globals that can be + * shared without locking */ void scheme_init_foreign_globals() { ffi_lib_tag = scheme_make_type(""); diff --git a/src/foreign/foreign.ssc b/src/foreign/foreign.ssc index 108a83ab66..2fd161b63c 100755 --- a/src/foreign/foreign.ssc +++ b/src/foreign/foreign.ssc @@ -2083,6 +2083,10 @@ void ctype_printer(Scheme_Object *ctype, int dis, Scheme_Print_Params *pp) /*****************************************************************************/ /* Initialization */ +/* types need to be initialized before places can spawn + * types become entries in the GC mark and fixup tables + * this function should initialize read-only globals that can be + * shared without locking */ void scheme_init_foreign_globals() { @(maplines (lambda (x)