On April 9, 2016 6:09:09 AM PDT, One Thousand Gnomes <gno...@lxorguk.ukuu.org.uk> wrote: > >> If anyone has a better idea on how userspace should connect the >master >> pty file descriptor the slave file descriptor, I would be willing to >> implement that instead. > >If we are willing to go away from the existing mess of a tty interface >inflicted on us by BSD and then mashed up by POSIX then a syscall of > > int err = ptypair(int fd[2], int perms, int flags); > >[where flags is the O_ ones we usually need to cover (CLOEXEC etc) and >maybe even some kind of "private" flag to say don't even expose it via >devpts). > >would do remarkably sane things to the majoirty of use cases as it >breaks >the dependence on grantpt and also the historic screwup that pty pairs >aren't allocated atomically with both file handles returned as pipe() >does. > >Alan
We don't even need to do that if we'd be willing to change the user space interface... if we could rely on the POSIX interface then posix_openpt() could simply open /dev/pts/ptmx and everything would just work. The trick here is how to make it work in the presence of some extremely bad practices in existing userspace. -- Sent from my Android device with K-9 Mail. Please excuse brevity and formatting.