[Top][All Lists]
[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.)
- reference bug in guile-gnome-platform 2.7.96,
Greg Troxel <=