HEADS UP: pts code committed

Robert Watson rwatson at FreeBSD.org
Mon Jan 30 03:50:21 PST 2006

On Mon, 30 Jan 2006, Stephen McKay wrote:

> On Saturday, 28th January 2006, Robert Watson wrote:
>> You are right, that is what it does.  This is actually an intentional design
>> choice to match the behavior in Solaris, which also names them /dev/ptyp*.
>> Well, strictly speaking, those are just symlinks into /devices, but it comes
>> to much the same thing.  You are probably right, though -- naming them
>> /dev/pty/* would make more sense, and won't affect the libc API.
> I had a quick look on a Solaris 8 machine and found only legacy pty devices 
> in /dev.  In /devices, they lump pts and pty nodes into /devices/pseudo with 
> a lot of other stuff.  Very messy.  So I don't think the new FreeBSD 
> /dev/ptynnn behaviour is the same as Solaris after all.  I checked a Fedora 
> Core 4 box too, and it doesn't put the pty's in /dev at all.  At least in 
> all implementations the important part (/dev/pts/nnn) is the same.
> Anyway, I can't find anything that depends on the naming for the master and 
> it would make /dev tidier to bury pty's in a subdirectory.  Shall we add 
> that one missing '/'?  The code would then match the comments. :-)

Yes, we shuold -- I'll commit that today.

> Alternatively, the other implementations seem to get by without putting them 
> in the tree at all.  Do we need them?

It has to do with a difference in how our devfs does device cloning -- whereas 
on some systems, your file descriptor reference to a device is silently 
replaced with the cloned device, so no name for it is needed, our 
implementation actually hooks the lookup to instantiate the device.  It 
probably would be possible to allow a name never to be instantiated with this 
model, but it's not currently that way.

Robert N M Watson

More information about the freebsd-current mailing list