[EMAIL PROTECTED] (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

Reply via email to