This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Guile-C interfacing and defating garbage collection



1. Guile passes a SCM representing a procedure to some C library code which
stores it somewhere.
2. Control returns from the C code to Guile and other things happen.
3. From the C library, I want to call the Guile procedure whose SCM I recorded
earlier.

How can I be sure that the procedure has not been garbage collected between
stage 1 and stage 2?

Obviously, the procedure won't be garbage collected if it is bound to a
variable name which is not redefined between stages 1 and 3, but is there any
way to achieve the same effect, without polluting the namespace, under the
control of the C library code?

The reason I want to do this is that I am adding the ability to create
Objective-C classes from withing Guile - and the class methods (which are
invoked from within the Objective-C world) are Guile procedures.