Hi, quinet@xxxxxxxxxx (Raphael Quinet) writes: > I took a look at bug #27786 "screenshot plugin on Solaris takes bus > error on exit" because I wanted to see if I could reproduce it. Well, > I got another problem: the screenshot plug-in exits with "xwd didn't > work" before giving any results. If my followup message makes it to > #27786 (http://bugs.gnome.org/db/27/27786.html), you will read that > xwd does work but the plug-in thinks that it doesn't. As a result, it > exits prematurely and leaves the temporary files in the user's dir. > > I tried to debug this and I finally came to the conclusion that > waitpid() fails because the SIGCHLD signal handler installed by > libgimp steals the return status of the xwd child before waitpid() in > screenshot.c has a chance to get it. In libgimp/gimp.c, the signal > handler gimp_plugin_sigchld_handler() calls waitpid() in a loop and > throws away the child status before returning. > I think that the best way to fix the screenshot plug-in is to add this > before the call to fork(): > gimp_signal_private (SIGCHLD, SIG_DFL, SA_RESTART); > (don't forget to #include <libgimp/gimpsignal.h>) This seems to work fine (at least under Linux). I'm only wondering why the gz, bzip2 and mail plugins do work under Solaris then. Or is this not the case ? Salut, Sven