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>