On 2023-07-08 21:59, наб wrote: > FreeBSD, OpenBSD, and Linux (/dev/ptmx) do all intialisation in open, I guess you meant open(2). Please be more precise about it. > and grantpt() is a no-op (that checks whether the fd is a pty, except on > musl). > > The illumos gate and NetBSD do a ioctl (and, indeed, illumos-gate commit > facf4a8d7b59fde89a8662b4f4c73a758e6c402c ("PSARC/2003/246 Filesystem > Driven Device Naming"), which kills pt_chmod, notes that it's been > 6464196 bfu should remove pt_chmod, obsoleted by /dev filesystem). I can't parse the indentation of this paragraph. How does it work? > > glibc 2.33 completely kills BSD PTY support on Linux > (Debian hasn't configured with them on any architecture since 2007: > https://bugs.debian.org/338404 > and even earlier on some arches; they're really just trivia under > Linux ‒ this may be better served stuffed into HISTORY as an explainer > for the SIGCHLD thing, since regardless of the "version", the behaviour > is well-defined and consistent). > > Cc: Jakub Wilk <jwilk@xxxxxxxxx> > Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@xxxxxxxxxxxxxxxxxx> > --- > Trivia, but rephrased slightly to make it more obvious. Thanks, Alex > > man3/grantpt.3 | 18 ++++++++---------- > 1 file changed, 8 insertions(+), 10 deletions(-) > > diff --git a/man3/grantpt.3 b/man3/grantpt.3 > index a19172a3e..e3d4e4aaa 100644 > --- a/man3/grantpt.3 > +++ b/man3/grantpt.3 > @@ -84,17 +84,15 @@ .SH ATTRIBUTES > .ad > .sp 1 > .SH VERSIONS > -Many systems implement this function via a set-user-ID helper binary > +Historical systems implemented this function via a set-user-ID helper binary > called "pt_chown". > -On Linux systems with a devpts filesystem (present since Linux 2.2), > -the kernel normally sets the correct ownership and permissions > -for the pseudoterminal slave when the master is opened > -.RB ( posix_openpt (3)), > -so that nothing must be done by > -.BR grantpt (). > -Thus, no such helper binary is required > -(and indeed it is configured to be absent during the > -glibc build that is typical on many systems). > +glibc on Linux before 2.33 could do so as well, > +in order to support configurations with only BSD pseudoterminals; > +this support has been removed. > +On modern systems this is either a no-op\[em]with > +permissions configured on pty allocation, > +as is the case on Linux\[em]or an > +.BR ioctl (2). > .SH STANDARDS > POSIX.1-2008. > .SH HISTORY -- <http://www.alejandro-colomar.es/> GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature