On Wed, 08 Nov 2000, Ludovic Poitou <ludovic.poitou@xxxxxxxxxxxxxx> wrote: > Here's the results I got with your test program on Solaris 8, OSF1, > HP-UX, AIX. [...] > Results on Solaris 8: > sigchld handler was called before waitpid (no status) [...] > Results on OSF1- V4.0 True64 - alpha > sigchld handler was called before waitpid (no status) [...] > Results on HP-UX B.11.00 E 9000/715 > sigchld handler was called before waitpid (no status) [...] > Results on AIX 3.4 > sigchld handler was called before waitpid (no status) On Wed, 08 Nov 2000, Jarda Benkovsky <pvt.benkovsk@xxxxxxxxx> wrote: > FreeBSD 3.4-STABLE: > sigchld handler was called before waitpid (no status) > > IRIX 6.5 IP22: > waitpid got the status before sigchld handler was called Thanks Ludovic and Jarda for these very interesting results! According to these results, the signal handlers of the plug-ins are compatible with the following systems: - Linux 2.2.x - IRIX 6.5 But since May (when the signal handlers were changed, if I remember correctly), the five plug-ins "screenshot", "gz", "bz2", "mail", and "url" had no chance to work well on the following systems: - Solaris 2.6 and 8 - OSF1 - HP-UX 11.x - AIX 3.4 - FreeBSD 3.4 ... and there was no bug report about this in the database! 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. By the way, could someone who works on the OS/2 port have a look at the __EMX__ part of the code in plug-in/common/gz.c? If possible, after applying gimp-quinet-20001108-1.patch.gz that I uploaded to ftp.gimp.org. That code looks very suspicious to me. It contains a call to sleep(2) instead of using waitpid() for getting the output of the child process. The four other plug-ins are using waitpid() as expected. If the call to sleep() is the only way to get gz to work, then the four other plug-ins should be changed (with some comments explaining the problem). If the other plug-ins work, then why is there such an ugly hack in gz.c? -Raphael