[gambit-list] Shouldn't the make-will testator be invoked on process termination too?
Adam
adam.mlmb at gmail.com
Fri Dec 18 11:10:53 EST 2015
Ah, that's a valuable distinction.
FFI types have their release function called though, right?
Anyhow if any kind of cleanup is needed on termination (as in ,q etc.) I
think there's some kind of termination handler in the manual so just use
that then - thanks!
2015-12-18 23:11 GMT+08:00 Marc Feeley <feeley at iro.umontreal.ca>:
> Will executability is determined by the garbage collector. When the
> Gambit process terminates the garbage collector is not called because this
> would take time and it is generally useless (the whole heap is reclaimed at
> once).
>
> So if you insist on the will executors to be called at the end of the
> program’s execution, you should call ##gc explicitly. Note however that
> you may need to call ##gc more than once because a will’s executability may
> depend on the execution of another will. So you’ll have to program the
> logic for this loop.
>
> Marc
>
> > On Dec 18, 2015, at 6:49 AM, Adam <adam.mlmb at gmail.com> wrote:
> >
> > Marc,
> >
> > Is there an outer extent on wills' applicability - why don't the second
> two gsc runs say OUT on termination?
> >
> > Thanks,
> > Adam
> >
> >
> > $ gsc
> > > (define a (box 1))
> > > (make-will a (lambda (v) (print "OUT.\n") (force-output)))
> > #<will #2>
> > > (##gc)
> > > (set! a #f)
> > > (##gc)
> > OUT.
> > > ,q
> > $ gsc
> > > (define a (box 1))
> > > (make-will a (lambda (v) (print "OUT.\n") (force-output)))
> > #<will #2>
> > > ,q
> > $ gsc
> > > (make-will (box 1) (lambda (v) (print "OUT.\n") (force-output)))
> > #<will #2>
> > > ,q
> > $
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20151219/bd47aa43/attachment.htm>
More information about the Gambit-list
mailing list