Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: fatal flaw zsh 4.0.1 on irix 6.3 & 6.5: suspend "ls -l|less" then resume hangs



On Tue, 31 Jul 2001 10:20:57 +0200 (MET DST), Sven Wischnowsky <wischnow@xxxxxxxxxxxxxxxxxxxxxxx> 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



Messages sorted by: Reverse Date, Date, Thread, Author