[comp.sys.hp] BSD job control problem

saaf@joker.optics.rochester.edu (Lennart Saaf) (10/09/89)

I am trying to install bash, the born again shell, on our HP9000/835.
I cannot get job control to work.  The HP manuals give me the
impression that HPUX supports BSD job control.  But a few things come
up undefined when compiling the bash routine jobs.c : NTTYDISC,
TIOCGETD, TIOCSETD, TIOCSETN, WNOHANG, and WUNTRACED.  I cannot find
these in any include files, though I find similar things in
"sys/bsdtty.h".  I have found them in include files on a Sun, so they
exist.  Is this a case of lack of BSD job control support, or
something else?  

Any help would be appreciated.  Thanks,

Len

--
------------------------------------------------------------------------
| Len Saaf, The Institute of Optics, Univ. of Rochester, Rochester, NY |
| Internet: saaf@joker.optics.rochester.edu        Bitnet: SAAF@UOROPT |
------------------------------------------------------------------------

decot@hpisod2.HP.COM (Dave Decot) (10/09/89)

> I am trying to install bash, the born again shell, on our HP9000/835.
> I cannot get job control to work.  The HP manuals give me the
> impression that HPUX supports BSD job control.  But a few things come
> up undefined when compiling the bash routine jobs.c : NTTYDISC,
> TIOCGETD, TIOCSETD, TIOCSETN, WNOHANG, and WUNTRACED.  I cannot find
> these in any include files, though I find similar things in
> "sys/bsdtty.h".  I have found them in include files on a Sun, so they
> exist.  Is this a case of lack of BSD job control support, or
> something else?  

NTTYDISC, TIOCGETD, TIOSETD, and TIOCSETN are not supported on HP-UX,
but they have little to do with job control.  They are mostly related
to the Berkeley tty driver, which is not used by HP-UX.

NTTYDISC, TIOCGETD, TIOSETD are used to control tty line disciplines.
HP-UX has only the System V/POSIX tty line discipline.  I don't know why
bash wants to set or examine the line discipline, but I think it might
possibly be OK if you just put "#ifndef hpux ... #endif" around that code.

TIOCSETN is roughly the equivalent of TCSETA, but for the stty()-style
parameter buffers.  This will take rewriting to use the System V style,
or you could try just using TIOCSETP instead.  If the bash source has
#ifdefs for System V on some of this code, by all means have it use the
System V style interface.

As in BSD systems, WNOHANG and WUNTRACED are found on HP-UX in <sys/wait.h>,
which the source code should have included in order to use wait3().

Dave Decot