From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3230 invoked from network); 31 Jul 2001 20:51:48 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 31 Jul 2001 20:51:48 -0000 Received: (qmail 25229 invoked by alias); 31 Jul 2001 20:51:34 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 15553 Received: (qmail 25216 invoked from network); 31 Jul 2001 20:51:32 -0000 To: Sven Wischnowsky Cc: zsh-workers@sunsite.dk Subject: Re: fatal flaw zsh 4.0.1 on irix 6.3 & 6.5: suspend "ls -l|less" then resume hangs References: <200107310820.KAA02935@beta.informatik.hu-berlin.de> From: Timothy Miller Date: 31 Jul 2001 16:50:29 -0400 Message-ID: User-Agent: Gnus/5.0802 (Gnus v5.8.2) XEmacs/21.1 (Big Bend) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Tue, 31 Jul 2001 10:20:57 +0200 (MET DST), Sven Wischnowsky wrote: > > exec.c patch: > > > > The line number given in this patch is 9 more than the corresponding line in > > the zsh-4.0.2 source file I have, just as a note. > > > > Incidentally, according to the irix man page for killpg, you're supposed to > > #define _BSD_SIGNALS or _BSD_COMPAT before signal.h to use it; zsh appears > > to use BSD_SIGNALS (not _BSD_SIGNALS) in configure. However, it still uses > > BSD_SIGNALS in -pws-2. Further, if I take the cc command line for exec.c, > > change cc to gcc, -c to -E, remove -o exec.o, and add -dD to get the macro > > definitions in place, then it looks like none of these *BSD* symbols are > > defined anywhere. The man page also says using BSD and SYSV facilities in > > the same program is strongly discouraged and will result in unpredictable > > behavior, in case you weren't aware (I don't know if zsh does that). > > Aha. Hm, well, is there any Unix where killpg(p, s) does something > different than kill(-p, s)? If not, we could either change all places > where we use killpg() or just add a killpg macro to zsh.h or signals.h. I just manually changed config.h to not define HAVE_KILLPG, cleaned and recompiled everything, and it all seems to work, except for make check C02 and Y* which were expected not to work anyway. Oops, actually, that was only on the irix 6.3 machine...on irix 6.5 it turns out if I compile zsh with the system cc, with or without HAVE_KILLPG, it fails make check in a big way (segfaults at the drop of a hat on every test, happens with 4.0.1 too) which I will report in a separate email, as it's a separate bug. If I allow it to compile with gcc, it completes the checks that it's supposed to complete, and if I manually turn HAVE_KILLPG off, it even handles suspension correctly. I'm going to regard this bug as essentially fixed (modulo incorporating something reflecting this change into the source) as a result, but will post the other bug shortly. Tim