Greetings, sent this last week but didn't get any feedback. Is this change acceptable for systemd or is there a particular reason for not starting gettys on all active consoles?
On Fri, Aug 16, 2013 at 8:28 PM, Michael Marineau < michael.marin...@coreos.com> wrote: > This enables a getty on active kernel consoles even when they are not > the last one specified on the kernel command line and mapped to > /dev/console. Now the order "console=ttyS0 console=tty0" works in > addition to "console=tty0 console=ttyS0". > --- > > I'm not sure if there is a particular reason for the more limited existing > behavior but it took me by surprise. > > src/getty-generator/getty-generator.c | 37 > ++++++++++++++++++++++------------- > 1 file changed, 23 insertions(+), 14 deletions(-) > > diff --git a/src/getty-generator/getty-generator.c > b/src/getty-generator/getty-generator.c > index 4b7a60a..6c93806 100644 > --- a/src/getty-generator/getty-generator.c > +++ b/src/getty-generator/getty-generator.c > @@ -122,33 +122,42 @@ int main(int argc, char *argv[]) { > } > > if (read_one_line_file("/sys/class/tty/console/active", &active) > >= 0) { > - const char *tty; > - > - tty = strrchr(active, ' '); > - if (tty) > - tty ++; > - else > - tty = active; > - > - /* Automatically add in a serial getty on the kernel > - * console */ > - if (isempty(tty) || tty_is_vc(tty)) > - free(active); > - else { > + char *w, *state; > + size_t l; > + > + /* Automatically add in a serial getty on all active > + * kernel consoles */ > + FOREACH_WORD(w, l, active, state) { > + char *tty; > int k; > > + tty = strndup(w, l); > + if (!tty) { > + log_oom(); > + free(active); > + r = EXIT_FAILURE; > + goto finish; > + } > + > + if (isempty(tty) || tty_is_vc(tty)) { > + free(tty); > + continue; > + } > + > /* We assume that gettys on virtual terminals are > * started via manual configuration and do this > magic > * only for non-VC terminals. */ > > k = add_serial_getty(tty); > - free(active); > > if (k < 0) { > + free(tty); > + free(active); > r = EXIT_FAILURE; > goto finish; > } > } > + free(active); > } > > /* Automatically add in a serial getty on the first > -- > 1.8.1.5 > >
_______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel