981 |
void |
void |
982 |
scm_init_gc () |
scm_init_gc () |
983 |
{ |
{ |
|
SCM after_gc_thunk; |
|
|
|
|
|
|
|
984 |
scm_gc_init_mark (); |
scm_gc_init_mark (); |
985 |
|
|
986 |
scm_after_gc_hook = scm_permanent_object (scm_make_hook (SCM_INUM0)); |
scm_after_gc_hook = scm_permanent_object (scm_make_hook (SCM_INUM0)); |
987 |
scm_c_define ("after-gc-hook", scm_after_gc_hook); |
scm_c_define ("after-gc-hook", scm_after_gc_hook); |
988 |
|
|
989 |
after_gc_thunk = scm_c_make_subr ("%gc-thunk", scm_tc7_subr_0, |
gc_async = scm_c_make_subr ("%gc-thunk", scm_tc7_subr_0, |
990 |
gc_async_thunk); |
gc_async_thunk); |
|
gc_async = scm_system_async (after_gc_thunk); /* protected via scm_asyncs */ |
|
991 |
|
|
992 |
scm_c_hook_add (&scm_after_gc_c_hook, mark_gc_async, NULL, 0); |
scm_c_hook_add (&scm_after_gc_c_hook, mark_gc_async, NULL, 0); |
993 |
|
|