Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Aug 1999 12:09:04 -0600
From:      Nate Williams <nate@mt.sri.com>
To:        Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
Cc:        Nate Williams <nate@mt.sri.com>, freebsd-smp@freebsd.org
Subject:   Re: SMP + XDM = keyboard lockup 
Message-ID:  <199908081809.MAA16849@mt.sri.com>
In-Reply-To: <199908070629.PAA10251@zodiac.mech.utsunomiya-u.ac.jp>
References:  <199907221817.LAA09698@usr05.primenet.com> <199907230402.NAA02136@zodiac.mech.utsunomiya-u.ac.jp> <199907231624.KAA07741@mt.sri.com> <199908070629.PAA10251@zodiac.mech.utsunomiya-u.ac.jp>

next in thread | previous in thread | raw e-mail | index | archive | help
> >> I guess it may not.  After init forks and execs getty and xdm, we
> >> don't know the exact order in which these processes will be scheduled
> >> to run on which CPU, do we?  /etc/ttys does not ensure the order of
> >> execution.
> >> 
> >> If xdm happens to run before other getty processes, it may grab a vty
> >> which will be eventually opened by a getty later.
> >
> >Actually, I had forgotten about this.  This is true because the line in
> >/etc/ttys doesn't specify *which* tty for X to use.  If we could easily
> >force X to use that specific tty, it would avoid this problem.
> >
> >Nate
> 
> We can specify the vty number in /usr/X11R6/lib/X11/xdm/Xservers as:
> 
> 	:0 local /usr/X11R6/bin/X vt4
> 
> can we not?

Yes, but that kind of defeats the purpose of having a 'single' entry in
/etc/ttys that allows us to set the correct tty.  Editing two files
means that more often than not it won't be done correctly.

> I know this is troublesome in the sense that if we want to change the
> vty for X, we need to update both /etc/tty and
> /usr/X11R6/lib/X11/xdm/Xservers ;-<

Agreed. :(

> In any case, the race condition regarding xdm and getty which we
> discussed in this mailing list should be reflected in FAQ.  Our FAQ
> currently has an entry for xdm; it gives you the impression that the
> race condition exists only when we start xdm from one of rc.* files,
> and people may think there should be no problem when xdm is started
> from /etc/ttys.

Agreed.

> ------------------------------------------------------------------------------
> 9.7  How do I start XDM on boot?
> 
> There are two schools of thought on how to start xdm.  One school starts xdm
> from /etc/ttys using the supplied example, while the other simply runs xdm from
> rc.local or from a X.sh script in /usr/local/etc/rc.d.  Both are equally valid,
> and one may work in situations where the other doesn't. In both cases the
> result is the same: X will popup a graphical login: prompt.
> 
> The ttys method has the advantage of documenting which vty X will start on and
> passing the responsibility of restarting the X server on logout to init.  The
> rc.local method makes it easy to kill xdm if there is a problem starting the X
> server.
> 
> If loaded from rc.local, xdm should be started without any arguments (i.e., as
> a daemon).  xdm must start AFTER getty runs, or else gettty and xdm will con-
> flict, locking out the console.  The best way around this is to have the script
> sleep 10 seconds or so then launch xdm.
> 
> A previous version of the FAQ said to add the vt you want X to use to the
> /usr/X11R6/lib/X11/xdm/Xservers file.  This is not necessary: X will use the
> first free vt it finds.
> ------------------------------------------------------------------------------
> 
> The last paragraph should be modified to something like:
> 
> "If you are to start xdm from /etc/ttys, there still is a chance of 
> conflict between xdm and getty.  One way to avoid this is to add the
> vt number in the /usr/X11R6/lib/X11/xdm/Xservers file.  
> 
> 	:0 local /usr/X11R6/bin/X vt4
> 
> The above example will direct the X server to run in /dev/ttyv3.
> Note the number is offset by one.  The X server counts the vt from one,
> whereas the FreeBSD kernel numbers vt from zero."
> 
> Comments?

Sounds good to me.  Commit away!


Nate


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?199908081809.MAA16849>