guile-gtk-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

reference bug in guile-gnome-platform 2.7.96


From: Greg Troxel
Subject: reference bug in guile-gnome-platform 2.7.96
Date: Wed, 19 Jan 2005 16:02:08 -0500

I have a c library to get OSPF data from a routing daemon.  I have
wrapped this into guile.  I want to hook this into the select loop, so
I did

(g-io-add-watch (g-io-channel-unix-new (ospflsa-fd ospflsa)) 'in
                 (lambda (source condition)
                   (format #t "ospf callback")
                   (ospflsa-service-multiple ospflsa)))

This failed with a "Freed cell" complaint from gtk-main.

I hoisted the lambda up to an enclosing let, so that guile proper
would hold a reference to it.  Then things worked
(ospflsa-service-multiple got called, and my callback routine that I
registered with the library got LSAs, etc.).

So I think that there is a missing mark call in the main loop's mark
implementation.  (I think it is reasonable to make up an
anonymous lambda for a callback like this; it was the obvious Scheme
way.)






reply via email to

[Prev in Thread] Current Thread [Next in Thread]