sandbox: Don't disable ctrlc() on sandbox if in raw mode

In raw mode, handle ctrl-c as normal. This allows normal ctrl-c behavior
such as aborting a command that is timing out without completely
terminating the sandbox executable.

In [1], Simon disabled this.  His reason for it was that it interferes
with piping test scripts. Piping should be done in cooked mode, so this
change should still not interfere.

[1] commit 8969ea3e9f ("sandbox: Disable Ctrl-C")

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
lime2-spi
Joe Hershberger 6 years ago
parent b2f58d8ee0
commit 82a115fdec
  1. 2
      common/console.c
  2. 4
      drivers/serial/sandbox.c

@ -604,7 +604,6 @@ static int ctrlc_disabled = 0; /* see disable_ctrl() */
static int ctrlc_was_pressed = 0;
int ctrlc(void)
{
#ifndef CONFIG_SANDBOX
if (!ctrlc_disabled && gd->have_console) {
if (tstc()) {
switch (getc()) {
@ -616,7 +615,6 @@ int ctrlc(void)
}
}
}
#endif
return 0;
}

@ -10,6 +10,7 @@
*/
#include <common.h>
#include <console.h>
#include <dm.h>
#include <fdtdec.h>
#include <lcd.h>
@ -69,6 +70,9 @@ static int sandbox_serial_probe(struct udevice *dev)
os_tty_raw(0, state->term_raw == STATE_TERM_RAW_WITH_SIGS);
priv->start_of_line = 0;
if (state->term_raw != STATE_TERM_RAW)
disable_ctrlc(1);
return 0;
}

Loading…
Cancel
Save