From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19182 invoked from network); 31 Jul 2001 14:36:32 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 31 Jul 2001 14:36:32 -0000 Received: (qmail 1524 invoked by alias); 31 Jul 2001 14:36:20 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 15552 Received: (qmail 1508 invoked from network); 31 Jul 2001 14:36:19 -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 10:35:16 -0400 In-Reply-To: Sven Wischnowsky's message of "Tue, 31 Jul 2001 10:20:57 +0200 (MET DST)" 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: > > So it looks like this patch fixes the hanging problem, except that cat still > > isn't stopped (it is when I do the same test under solaris with 4.0.1). > > Yes, it's a lot better already. You could test if modifying the line I > changed to use kill() instead of killpg() to: > > kill(-jobtab[list_pipe_job].gleader, 0) == -1) { > > fixes the problem with cat not being stopped. (I've only inserted a `-' > before the `jobtab[...]' here.) Unfortunately, no such luck. However, it turns out that zsh 3.1.6 results in the same behavior, and in fact if I manually send a TSTP to the right process group, cat is still not suspended. For a larger set of processes, from "man makemovie", all but one process is stopped (in 3.1.6): running F S UID PID PPID PGID SID C PRI NI P SZ:RSS WCHAN STIME TTY TIME CMD b0 S tsm 915 914 915 915 0 39 20 * 774:436 8039d510 12:04:34 ttyq4 0:06 -zsh-beta b0 S tsm 21359 915 21359 915 0 60 20 * 431:105 804219ac 10:22:24 ttyq4 0:00 man makemovie b0 S tsm 21361 21360 21359 915 0 60 20 * 71:29 804221dc 10:22:24 ttyq4 0:00 sh -c pcat /usr/share/catman/u_man/ b0 S tsm 21362 21361 21359 915 0 28 20 * 478:183 8039e0b0 10:22:24 ttyq4 0:00 less b0 S tsm 21364 21362 21359 915 0 60 20 * 368:130 c0674a40 10:22:24 ttyq4 0:00 col b0 S tsm 21360 21359 21359 915 0 60 20 * 427:101 80424acc 10:22:24 ttyq4 0:00 man makemovie ^Z F S UID PID PPID PGID SID C PRI NI P SZ:RSS WCHAN STIME TTY TIME CMD b0 S tsm 915 914 915 915 0 28 20 * 774:436 8039e0b0 12:04:34 ttyq4 0:06 -zsh-beta b0 T tsm 21359 915 21359 915 0 60 20 * 431:105 - 10:22:24 ttyq4 0:00 man makemovie b0 T tsm 21361 21360 21359 915 0 60 20 * 71:29 - 10:22:24 ttyq4 0:00 sh -c pcat /usr/share/catman/u_man/ b0 T tsm 21362 21361 21359 915 0 60 20 * 478:185 - 10:22:24 ttyq4 0:00 less b0 S tsm 21364 21362 21359 915 0 60 20 * 368:130 c0674a40 10:22:24 ttyq4 0:00 col b0 T tsm 21360 21359 21359 915 0 60 20 * 427:101 - 10:22:24 ttyq4 0:00 man makemovie But with "man killpg", all four processes (not including a col in this case) are stopped. I've been using this version of zsh for years now with no problems, so if this is an IRIX bug, it doesn't seem to affect anything I've noticed. (Well, there is one minor problem I've had, but it happens on other OSs too (I think--now I'm going to have to check): occasionally and nondeterministically zsh will fail to return immediately to a prompt after a suspended less, but hitting return does bring back the prompt.) Tim