Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Jul 1999 21:32:09 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        "Chris D. Faulhaber" <jedgar@fxp.org>
Cc:        Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>, freebsd-smp@FreeBSD.ORG
Subject:   Re: SMP + XDM = keyboard lockup 
Message-ID:  <199907230432.VAA21465@apollo.backplane.com>
References:   <Pine.BSF.4.10.9907230012350.13821-100000@pawn.primelocation.net>

next in thread | previous in thread | raw e-mail | index | archive | help
:> execution.
:> 
:> If xdm happens to run before other getty processes, it may grab a vty
:> which will be eventually opened by a getty later.
:> 
:
:vty's are assigned in /etc/ttys, though:
:
:ttyv4   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure                      
:^^^^^
:so it the starting order shouldn't matter, unless you have a getty and xdm
:assigned the same vty, and then it _should_ lock up whether using SMP or 
:not.
:
:-----
:Chris D. Faulhaber <jedgar@fxp.org>  |  All the true gurus I've met never

    That's what I thought too... and it's correct for getty's.  But xdm
    ignores the argument init passes to it.

    So here is what happens:

	init opens the vty and runs xdm.

	xdm runs X which ignores the vty and locates a new one by scanning
	the vty's sequentially looking for one that is unused.

    In this case a race is possible.  X will not, in fact, run in vty 0
    like we expected.

    I tested this.  My /etc/ttys runs xdm from ttyv0, but the X sessions
    winds up on ttyv4.

    However X does search vty's sequentially, so all you need to do is make
    sure the first two slots in /etc/ttys for ttyv0 and ttyv1 are turned off.

    So this is my recommendation now:  Run xdm on ttyv0, leave ttyv1 turned
    off.  Run your getty's starting with ttyv2.

	#
	ttyv0   "/usr/X11R6/bin/xdm -nodaemon   cons25 on secure
	ttyv1   "/usr/libexec/getty Pc"         cons25  off secure
	ttyv2   "/usr/libexec/getty Pc"         cons25  on secure
	ttyv3   "/usr/libexec/getty Pc"         cons25  on secure

    Or, if you want to run xdm from your rc.local, leave both ttyv0
    AND ttyv1 turned off.  Why?  Because ttyv0 will be allocated while
    the rc files are being run so you still have to leave at least ttyv1
    turned off in init to avoid a race.

    If you do this I believe there is no possibility of a race.

    It would be nice if we could specify the vty that X is to allocate
    as an option to X.  I couldn't find anything in the man pages right 
    offhand to accomplish this, though.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199907230432.VAA21465>