Hello Guile hackers.
We are in the process of integrating GNU poke[1] in GDB by mean of libpoke. Problem is, libpoke uses the Boehm GC, as guile does. We are working on switching to an ad-hoc exact collector, but it will get some time. So, in the interim, we may: 1) Make both libguile and libpoke to do GC_INIT conditionally, only if no one else has initialized the collector before. This is already in poke master. A suggested (untested!) patch for guile below. 2) Test to see if the collector works properly. 3) Do bug-fix releases of both libguile and libpoke so the GDB people can check for the right version in configure.ac in order to allow configuring GDB with both libpoke and libguile support. Does this sound like a plan? Thanks in advance! [1] https://jemarch.net/poke diff --git a/libguile/gc.c b/libguile/gc.c index 7717e9bef..36653d373 100644 --- a/libguile/gc.c +++ b/libguile/gc.c @@ -462,7 +462,8 @@ scm_storage_prehistory () setenv ("GC_MARKERS", "1", 1); #endif - GC_INIT (); + if(!GC_is_init_called ()) + GC_INIT (); size_t heap_size = GC_get_heap_size (); if (heap_size < DEFAULT_INITIAL_HEAP_SIZE)