On Wed, 08 Nov 2000, Michael Natterer <mitch@xxxxxxxx> wrote: > quinet@xxxxxxxxxx (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. > > The > > 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. -Raphael