[BusyBox] job control turned off, yet again...

Jeff "Tiny"Warren tiny.laser at verizon.net
Mon Sep 13 04:42:25 UTC 2004


I was wondering if it may be that I am not using a login program and am
just going straight to the command prompt.  Is this a common
configuration?  If it is not, maybe that could be causing this problem?

I included my config file as well in the hopes that someone more
knowledgeable than myself may find a problem with that as well.

Like so many other people that have had this problem, it is only the
first console that is acquired.  I am running telnetd and I can telnet
in and do not receive the warning message.  

When I look at the code of setjobctl, it is trying to grab "/dev/tty"
and if I remember correctly it grabs it successfully and the fd = 3
which makes sense.  It then duplicates that with the new fd=10 and
closes the fd = 3.  I have tried not duplicating it and still the same
problem (ctgetpgrp returns -1 with errno=ENOTTY) so I am at a loss.  

The man pages say:
tcgetpgrp also fails if the following is true:
> 
>      ENOTTY         the calling process does not have a controlling
terminal,
>                     or fildes does not refer to the controlling
terminal.

How can I tell if a given fd is a controlling terminal? If it is, I
wouldn't have this problem, so how can I get the fd of a controlling
terminal of a given process if it has one and if it doesn't, how do I
open a controlling terminal for a process?

I personally think that my problem is a little different than others
have run into, but just enough so that their solutions do not work for
my specific situation.  Somehow, the ash process is opening "/dev/tty"
or "/dev/ttyS0" and it is not a controlling terminal.

Do I need to have something linked to "/dev/tty" before it is opened by
ash initially?

Thanks for any help,
Regards,

Jeff Warren  




More information about the busybox mailing list