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