I was deleting a lot of leaks in GGL, and I think I've found a leak
into GGI, here is the stack info:
Leaked 0x806ecf0 (2048 bytes)
_default_zero(): /tmp/degas/lib/ggi2-1.99.2.0b2.1/ggi/visual.c:46
alloc_fb(): /tmp/degas/lib/ggi2-1.99.2.0b2.1/display/memory/mode.c:91
_GGIdomode(): /tmp/degas/lib/ggi2-1.99.2.0b2.1/display/memory/mode.c:145
_GGIdomode(): /tmp/degas/lib/ggi2-1.99.2.0b2.1/display/memory/mode.c:169
_ggiCheck4Defaults(): /tmp/degas/lib/ggi2-1.99.2.0b2.1/ggi/mode.c:68
ggl_visual_set_mode(): /home/ryu/devel/GPUL/ggl/src/graphics/gglvisual.c:105
ggl_timeout_start(): /home/ryu/devel/GPUL/ggl/src/ggltimeout.c:152
ggl_timeout_start(): /home/ryu/devel/GPUL/ggl/src/ggltimeout.c:152
ggl_timeout_start(): /home/ryu/devel/GPUL/ggl/src/ggltimeout.c:152
ggl_timeout_start(): /home/ryu/devel/GPUL/ggl/src/ggltimeout.c:152
(???)
_start(): (null):0
I thought that maybe this leak were produced because of GGL code,
but I couldn't find more leaks on it.
The code at line 105 of ggl_visual_set_mode() is:
error= ggiSetMode(visual->visual,&gmode);
And visual->visual is a successfully opened visual with the type
shown below:
struct _GglVisual{
GglBase base; /* Base class */
int id; /* Class Identifier */
ggi_visual_t visual; /* GGI Visual*/
[...]
The code at line 152 of ggl_timeout_start does nothing but return a
number (no mallocs). The reason why the stack looks like this is that I
catch alarm signal and use linux interval timers [setitimer()].
The example that I've tested creates 24 visuals (1 with target X and
23 with target memory) and never loses pointers to any of them.
I wish this is enough information :)
--
_
/_) \/ / / email: mailto:[EMAIL PROTECTED]
/ \ / (_/ www : http://programacion.mundivia.es/ryu
[ GGL developer ] & [ IRCore developer ] & [ GPUL member ]