On Tue, 03.01.12 21:35, Lennart Poettering (lenn...@poettering.net) wrote: > > > currently, logind was enforcing the presence of /dev/tty0 to start > > > properly. This device is not present on Xen (when using xencons=tty) or > > > S/390. > > > > Here is a regenerated version against master, since logind was moved to > > its own directory. > > Thanks for rebasing the patch! > > I fear the patch is not complete though. seat_read_active_vt() in > login/logind-seat.c needs to guard against the invalid fd in > s->manager->console_active_fd. > > Also, I assume that if /dev/tty0 doesn't exist /dev/tty1, /dev/tty2 and > so on don't exist either. That means calls like seat_preallocate_vts() > need to be shortcut in this case, too. > > logind currently implicitly and always creates a seat0, that exists > unconditionally, and that all hw that isn't assigned to anything else > belongs to. That notion is probably nothing we could or should get rid > off that easily, but that means that we need to make sure that a couple > of its operations become NOPs on the systems in question. Besides > seat_preallocate_vts() that's seat_read_active_vt() and the whole logic > that watches VCSA devices (which should be shortcut, as if n_autovts was > 0, in manager_connect_udev()).
I have now commited a patch which reworks a lot of the logic there and tries to handle the no-VT case as gracefully as possible. We still implicitly create seat0, but we now stop advertising that it was multi-session capable. Hence we still end up with a seat, but only with the minimal properties that we need. This makes most of the other explicit checks unnecessary fortunately. I haven't tested this since I don't have S390 nor Xen. Would be cool if you could test this. (though right now is not the ideal point in time, because systemd git is a bit borked. please wait a few days in order not to burn your fingers on it.) Lennart -- Lennart Poettering - Red Hat, Inc. _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel