summaryrefslogtreecommitdiff
path: root/lib/hang.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2019-05-18 11:59:44 -0600
committerSimon Glass <sjg@chromium.org>2019-07-10 16:52:58 -0600
commitf2980ece06363e584541829bf40d46ad9760d535 (patch)
tree160e38c4faaab66068c20fea8166808f5132d391 /lib/hang.c
parent9072326a6ab47ad87a0be46f4d8619b60c2d8515 (diff)
downloadu-boot-f2980ece06363e584541829bf40d46ad9760d535.tar.gz
u-boot-f2980ece06363e584541829bf40d46ad9760d535.tar.bz2
u-boot-f2980ece06363e584541829bf40d46ad9760d535.zip
sandbox: Quit when hang() is called
It doesn't make a lot of sense to hang on sandbox when hang() is called, since the only way out is Ctrl-C. In fact, Ctrl-C does not work if the terminal is in raw mode, which it will be if the command-line has not been reached yet. In that case, Ctrl-Z / kill -9 must be used, which is not very friendly. Avoid all of this by quiting when hang() is called. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'lib/hang.c')
-rw-r--r--lib/hang.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/hang.c b/lib/hang.c
index c5a78694be..4d026a3e64 100644
--- a/lib/hang.c
+++ b/lib/hang.c
@@ -9,6 +9,7 @@
#include <common.h>
#include <bootstage.h>
+#include <os.h>
/**
* hang - stop processing by staying in an endless loop
@@ -26,6 +27,8 @@ void hang(void)
puts("### ERROR ### Please RESET the board ###\n");
#endif
bootstage_error(BOOTSTAGE_ID_NEED_RESET);
+ if (IS_ENABLED(CONFIG_SANDBOX))
+ os_exit(1);
for (;;)
;
}