chiark / gitweb /
core: reprint the question every 2 sec in ask_char()
authorFranck Bui <fbui@suse.com>
Mon, 7 Nov 2016 16:14:59 +0000 (17:14 +0100)
committerSven Eden <yamakuzure@gmx.net>
Mon, 17 Jul 2017 15:58:35 +0000 (17:58 +0200)
commit5e7ea707e798e8d56142e4b138781ca20007b0d2
tree265904929162fdc63003cfeb0188473885e2bf06
parent036174b578f4c18fd2fefb9f5d87791ea2e01b5d
core: reprint the question every 2 sec in ask_char()

ask_char() now reprints the question every 2sec automatically.

It prefixes its output with '\r' to to bring the cursor to the
beginning of the terminal line, and then print the message, redoing it
every 2sec.

As long as nothing interferes with out output this logic will have no
visible effect as we constantly overprint the visible text with the
exact same text.

However, if something is dumped in the middle, then our question won't
get lost, as we'll ask soon again.

This is useful if the question is asked to a terminal that is also
used to dump some other status messages/logs. For example when
confirmation messages are enabled during the boot
(elogind.confirm_spawn=1), the question can easily be lost if the
kernel logs are also enabled and both use the same console.

Idea suggested by Lennart Poettering.
src/basic/terminal-util.c