xf86OpenConsole: VT_WAITACTIVE failed: Interrupted system call

Alan Cox alan at lxorguk.ukuu.org.uk
Mon Oct 8 14:15:37 PDT 2007

> 	ioctl (console_fd, VT_ACTIVATE, activeVT);
> 	ioctl (console_fd, VT_WAITACTIVE, activeVT);
> 	close (console_fd);
> Why it uses WAITACTIVE is beyond me, but there you go.

I would guess so that you don't flash up one text screen possibly with
dmesg spew all over it and system log then suddenely flick to another
just after ? Even more so with two X servers running.

There is a problem with that however - if another terminal change races
your activate (eg another VT_ACTIVATE) your waitactive may take some time
(until the user flips to that tty).

The current VT_WAITACTIVE is a bit dumb in that its assuming you've got
control and still hold the vt changing lock in your program. Outside of
that case it often doesn't do what is wanted (but sometimes does)

I can see the value in a VT_WAITACTIVE variant for "this screen active or
another VT change after you made the request has completed"


More information about the xorg mailing list