All of lore.kernel.org
 help / color / mirror / Atom feed
From: Albert Cahalan <albert@users.sf.net>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: Albert Cahalan <albert@users.sourceforge.net>,
	linux-kernel mailing list <linux-kernel@vger.kernel.org>
Subject: Re: Does anyone still care about BSD ptys?
Date: 09 Feb 2004 12:18:57 -0500	[thread overview]
Message-ID: <1076347137.27234.166.camel@cube> (raw)
In-Reply-To: <4027BFE7.5040100@zytor.com>

On Mon, 2004-02-09 at 12:14, H. Peter Anvin wrote:
> Albert Cahalan wrote:
> > 
> > The BSD-style ptys are used all the time for
> > serial port emulation. The SysV-style ones are
> > useless for this, since they don't have a fixed
> > mapping from master to slave. You might make a
> > symlink from /dev/testbox to /dev/ptyp0, then
> > configure gdb to use /dev/testbox for remote
> > debugging. Then you start a remserial process
> > to connect /dev/ttyp0 with port 7455 on some
> > terminal server, and on the terminal server you
> > have remserial connect port 7455 to /dev/C7.
> > Now, whenever you run gdb, you're debugging
> > a test box over a serial line connected to the
> > terminal server. With SysV-style ttys, you
> > can't set up your config as nicely. The above
> > would likely have a few extra symlinks BTW.
> 
> Eh?!  Have your server process create the appropriate symlinks... 
> problem solved.

1. That isn't what existing software does.

2. The symlinks couldn't be in /dev without
running as root. Using /tmp isn't going to
work if you're emulating serial ports for
something that will tack a /dev on the front,
unless users will put up with "../tmp/foo".

I should mention here that the SysV pty stuff
is nearly 100% undocumented in the man pages.
I get nothing for pts, pty, grantpt...

> > In your use of the larger dev_t, please keep
> > the first 2047 or 2048 ptys as they are today.
> > Let the last major use the full 20-bit minor,
> > while restricting the first 7 minors to 8 bits.
> > This avoids breaking userspace software.
> 
> No bloody way in hell.  However, unless I have a strong reason to the 
> contrary I'll keep them on major 136, so your little formula should 
> still woprk.

I'm glad that my formula will work. I doubt I'm
the only one to be mapping from number to name
though. Other software, and older procps releases,
won't handle pty 256 through 2047 after you make
your proposed change.

If you insist though, increase the procps release
requirement to 3.2.0 with your patch please.

> > For example, due to the lack of /proc/*/tty links,
> > procps uses min+(maj-136)*256 to guess the number
> > of a SysV-style pty. A 32-bit dev_t will be handled
> > correctly by procps 3.2 if you extend the pty usage
> > as explained above.
> 
> > Adding /proc/*/tty links solves the problem as
> > well, subject to a linux-2.7.0 version check.
> 
> Presumably it should be: subject to an existence check.

That too of course, since there might not be a
tty at all. Also, depending on implementation,
some processes started in early boot might not
have a tty name in spite of having a tty.

The version check avoids trying a link that is
known to not exist on current kernels. For a long
time now I've been moving the version. :-(



  reply	other threads:[~2004-02-09 19:36 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-09 13:49 Does anyone still care about BSD ptys? Albert Cahalan
2004-02-09 17:14 ` H. Peter Anvin
2004-02-09 17:18   ` Albert Cahalan [this message]
2004-02-09 20:32     ` Andries Brouwer
2004-02-10 11:40     ` Dominik Kubla
     [not found] <1ne1M-1Oc-1@gated-at.bofh.it>
2004-02-10 19:47 ` Bill Davidsen
2004-02-10 19:51 ` Bill Davidsen
2004-02-10 21:52   ` Theodore Ts'o
2004-02-10 22:02     ` H. Peter Anvin
2004-02-11  5:31       ` Theodore Ts'o
  -- strict thread matches above, loose matches on Subject: below --
2004-02-09 16:57 Joerg Pommnitz
2004-02-10 17:23 ` H. Peter Anvin
     [not found] <c07c67$vrs$1@terminus.zytor.com.suse.lists.linux.kernel>
     [not found] ` <c07i5r$ctq$1@news.cistron.nl.suse.lists.linux.kernel>
     [not found]   ` <20040209100940.GF21151@parcelfarce.linux.theplanet.co.uk.suse.lists.linux.kernel>
     [not found]     ` <20040209104729.GA19401@traveler.cistron.net.suse.lists.linux.kernel>
2004-02-09 14:45       ` Andi Kleen
2004-02-09 17:23         ` H. Peter Anvin
2004-02-09  7:17 H. Peter Anvin
2004-02-09  7:21 ` David Weinehall
2004-02-09  7:29   ` H. Peter Anvin
2004-02-09  8:12     ` Ricky Beam
2004-02-09  8:19       ` H. Peter Anvin
2004-02-09  8:59 ` Miquel van Smoorenburg
2004-02-09 10:09   ` viro
2004-02-09 10:47     ` Miquel van Smoorenburg
2004-02-10  1:33     ` bill davidsen
2004-02-10  2:07       ` H. Peter Anvin
2004-02-09 18:06   ` Olaf Hering
2004-02-09  9:29 ` Nick Craig-Wood
2004-02-09 12:47   ` Jamie Lokier
2004-02-09 13:40     ` Nick Craig-Wood
2004-02-09 14:00       ` Richard B. Johnson
2004-02-09 17:51         ` Dominik Kubla
2004-02-09 18:27           ` Richard B. Johnson
2004-02-09 20:59             ` Athanasius
2004-02-10 11:16             ` Dominik Kubla
2004-02-10 17:19               ` H. Peter Anvin
2004-02-10  0:47 ` Karl Tatgenhorst
2004-02-10  0:52   ` H. Peter Anvin
2004-02-10  1:35     ` Karl Tatgenhorst

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1076347137.27234.166.camel@cube \
    --to=albert@users.sf.net \
    --cc=albert@users.sourceforge.net \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.