The pcvt VT_WAITACTIVE ioctl, when passed a 0 third argument, puts the calling process to sleep until the current vt is switched away from. The syscons driver, when passed a 0 third argument, waits until the vt represented by the passed file descriptor is switched to. Both claim to be USL-compatible. I wasn't sure which was correct, but the latter behavior seems more useful, since the former doesn't care whether the current vt is related to the calling process or not. Also, a comment in the pcvt code makes it clear that the author was unsure of the correct behavior. How-To-Repeat: A code example would be rather involved, but can be provided. A comparison of the code in scioctl() in i386/isa/syscons.c and usl_vt_ioctl() in i386/isa/pcvt/pcvt_ext.c is straightforward.
Responsible Changed From-To: freebsd-bugs->joerg I've been the last one mucking with kernel sppp, so i'll deal with this problem. The submitted patch looks simple enough...
As Joerg Wunsch wrote: > Synopsis: pcvt VT_WAITACTIVE ioctl busted > > Responsible-Changed-From-To: freebsd-bugs->joerg > Responsible-Changed-By: joerg > Responsible-Changed-When: Thu Jul 31 23:18:55 MEST 1997 > Responsible-Changed-Why: > I've been the last one mucking with kernel sppp, so i'll deal with > this problem. The submitted patch looks simple enough... Needless to say, i've totally confused this one. :-<> Anyway, still my field, since i'm supposed to handle pcvt problems... -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-)
State Changed From-To: open->closed Suggested fix applied in rev 1.13 of pcvt_ext.c. Thanks! (Well, i actually collapsed the code a little afterwards.)