Re: RFC: GbfProjectView widget



Hi,

I found out what was causing this problem.  As Jeroen had already
discovered, this weirdness only happens when there is a vte terminal
opened.  It turns out that vte installs its own child reaper (i.e. a
signal handler which catches SIGCHILD when the child process exits), and
so the waitpid() call in gbf-am-project.c never succeded.

I committed the attached patch which simply handles this case as best as
it can, but it's not a real solution IMO.  I think we would need a child
reaper at libgnome level or something like that, so we can share it
among "forkers".  But that's out of scope for now.

HTH,
Gustavo


On Sun, 2003-01-12 at 13:01, Gustavo Giráldez wrote:
> Hi,
> 
> On Sun, 2003-01-12 at 08:51, Jeroen Zwartepoorte wrote:
> > Hey Gustavo, JP
> > 
> > On Sun, 2003-01-12 at 05:10, Gustavo Giráldez wrote:
> > > Hi JP,
> > > 
> > > I've just committed the patches to gnome-build and anjuta2 I sent last
> > > week, which implement the GbfProjectView widget, and modify anjuta2's
> > > project tool to use it.
> > > 
> > > Apart from the new files in gnome-build (gbf-project-view.[ch],
> > > gbf-project-model.[ch] and test-project-view.c) I removed
> > > default-icon.[ch] (which should have been removed when the icon API
> > > moved to gdl) and the old widgets gbf-project-tree.[ch] and
> > > gbf-target-tree.[ch].  Full patches are attached.
> > 
> > Here's a small fix to make the project-manager compile
> > (libgnome/gnome-i18n.h include was missing). I've also added a shadow to
> > the project view in project-tool.c.
> 
> Oops... that's probably my last patch to gdl, since gnome-i18n.h was
> included from gdl.h.  Sorry about that.
> 
> > 
> > A bigger issue is that loading a project no longer works. I see a
> > "Spawning script" when i load a project, but nothing after that.
> > Attaching gdb to the anjuta2 process, it seems to be waiting for
> > something:
> > 
> > #0  0x420d224b in poll () from /lib/i686/libc.so.6
> > #1  0x408300c7 in g_main_context_poll (context=0x806c0e8, timeout=99,
> >     priority=2147483647, fds=0x8393410, n_fds=11) at gmain.c:2596
> > #2  0x4082f5d5 in g_main_context_iterate (context=0x806c0e8, block=1,
> >     dispatch=1, self=0x805ae90) at gmain.c:2273
> > #3  0x4082fc9a in g_main_loop_run (loop=0x837b490) at gmain.c:2498
> > #4  0x413e7f8c in spawn_script (argv=0xbfffe270, timeout=30, input=0x0,
> >     input_size=0, input_cb=0x413e7a90 <write_child>,
> >     output_cb=0x413e7b7c <read_output>, error_cb=0x413e7cc0
> > <read_error>)
> >     at gbf-am-project.c:1336
> > #5  0x413e80c4 in get_project (prj=0x837b3d8,
> >     dir=0xfffffffc <Address 0xfffffffc out of bounds>) at
> > gbf-am-project.c:1366
> > #6  0x413e86be in impl_load (project=0x837b3d8,
> >     path=0x81a2cc8 "/home/jeroen/Projects/anjuta2", error=0xbfffe338)
> >     at gbf-am-project.c:1585
> > #7  0x40d49674 in gbf_project_load (project=0x837b3d8,
> >     path=0x81a2cc8 "/home/jeroen/Projects/anjuta2", error=0xbfffe338)
> >     at gbf-project.c:36
> > #8  0x413c9cb8 in set_build (proj_tool=0x831fd08,
> >     path=0x81a2cc8 "/home/jeroen/Projects/anjuta2") at
> > project-tool.c:186
> > 
> > 
> > Any idea why this is happening?
> 
> This is weird.  What do you get if you run the script manually?  I.e.:
> gbf-am-parse --get /path/to/project
> 
> Regards,
> Gustavo
> 
> _______________________________________________
> gnome-devtools mailing list
> gnome-devtools gnome org
> http://mail.gnome.org/mailman/listinfo/gnome-devtools
> 
> 

Attachment: gnome-build.reaper.patch
Description: Binary data



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