[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: another 1.10 job control bug?



  "Nicholas S Castellano" <entropy@terminator.rs.itd.umich.edu> writes:
  |>> i think the problem was when there are several processes in a group the
  |>> leader isn't always the one that exits last, and then you could no longer
  |>> signal the others from the terminal after that. (^c, ^z, ...)  of course
  |>> you could say the parent should always catch SIGCHLD and then TIOCSPGRP
  |>> whenever the first process in a pipe (for example) exited but somehow i
  |>> doubt thats a real solution...  (although i did put such a hack in ksh
  |>> first... :)
  
  |> Is there any situation where a process group leader exits and you
  |> still want processes in that group to be allowed to access the tty?
  
  Bash sets up a pipeline by making the first process the group leader.
  So if you pipe the output of a process into less, for example, this
  process will almost always exit before less. I think there is no
  better solution except adding sessions to MiNT. And bash is supposed to
  be POSIX complient.

Ah, now that you mention this, it all comes clear to me... I believe that
ash and tcsh do this as well. (I'm imprecise here because I'm a bit foggy on
exactly when I encountered this problem.) I was trying to pipe a command to
grep, and grep kept on getting suspended. Not a good situation...