
Hi Tuomas,
On 7 May 2015 at 12:29, Tuomas Tynkkynen tuomas.tynkkynen@iki.fi wrote:
Previously, if the menu activated by the 'sysboot' command gets interrupted by a Ctrl-C, the behaviour is as if the menu timeout was reached - i.e. boot the default menu entry. This patch fixes that so a Ctrl-C now terminates the command as the user would expect.
Signed-off-by: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi
common/menu.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git common/menu.c common/menu.c index e81c074..eda96d6 100644 --- common/menu.c +++ common/menu.c @@ -202,6 +202,9 @@ static inline int menu_interactive_choice(struct menu *m, void **choice) choice_item = menu_item_by_key(m, cbuf); if (!choice_item) printf("%s not found\n", cbuf);
} else if (readret == -1) {
printf("<INTERRUPT>\n");
return -EINTR; } else { return menu_default_choice(m, choice); }
-- 2.4.0
Reviewed-by: Simon Glass sjg@chromium.org
If you feel like doing another patch, you could update the cli_readline_into_buffer() and cread_line() to describe the meaning of the return values (-1 and -2). Even better if you can use -EINTR and -ETIMEDOUT.
Regards, Simon