On Wed, 08 Nov 2000, Michael Natterer <[EMAIL PROTECTED]> wrote:
> [EMAIL PROTECTED] (Raphael Quinet) writes:
> > Maybe we should all do our "mea culpa" and test a bit more seriously
> > especially on non-Linux platforms, now that 1.2 is just around the
> > corner.
> Nope, it's just me with the "mea culpa" thing.
> gimp_signal_private (SIGCHLD, gimp_plugin_sigchld_handler, SA_RESTART);
> call is just to restart system calls interrupted by SIGCHLD.
> The signal handler does nothing more than removing the zombie.
> But as all plug-ins which fork() also want to fetch waitpid()'s
> return values.... EEEEK
I know that you added that "feature" to the code, but it was working
well under Linux at that time, so everything looked OK for you.
The "mea culpa" should be for all of us who saw the problem on the
non-Linux systems and never reported it. Five plug-ins (including
"gz" and "screenshot", which are used quite often) were broken for six
months (!) on non-Linux platforms and nobody reported the problem to
the bug database. Some problems with the screenshot plug-in were
reported on this list during the summer, but that's all.
As I wrote, I am partially to blame because I knew about the problem
for at least two of the plug-ins mentioned above. But the fact that
such a serious bug was ignored for such a long time does not make me
feel confortable about the testing on non-Linux platforms. And the
list of systems on which the Gimp was broken is larger than I thought.
Here is the list of systems on which waitpid() could not return any
status for the child processes, thanks to Ludovic Poitou, Jarda
Benkovsky, David Brownlee, David Edelsohn, Mike Turk, Tomas Ogren,
Jaromír Dolecek, Ignatios Souvatzis, Martin Husemann and Christian
Biache who sent me their results by e-mail:
- Solaris 2.5, 2.6, 8
- SunOS 4.1.1, 4.1.4
- OSF1 V4.0
- HP-UX 10.20, 11.00
- AIX 3.4, 4.2, 4.3.2, 4.3.3
- FreeBSD 3.4
- NetBSD 1.4.1, 1.4.2, 1.5_BETA (m68k), 1.5_BETA2 (arm32)
- LynxOS 2.5.0
The only systems that are reported to work are various versions of
Linux 2.2.x and IRIX (5.3 and 6.5). Windows was not really affected
by this problem, because the code is not the same on this platform.
Looking at the list of platforms that were partially broken for
several months does not make me feel good, that's why I sent the
message quoted above.
Thanks to all who reported the results of the test program.