aboutsummaryrefslogtreecommitdiff
path: root/monitor.c
diff options
context:
space:
mode:
Diffstat (limited to 'monitor.c')
-rw-r--r--monitor.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/monitor.c b/monitor.c
index 4f51eccdca..dd2e770e68 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2694,10 +2694,27 @@ static void term_read(void *opaque, const uint8_t *buf, int size)
readline_handle_byte(buf[i]);
}
+static int monitor_suspended;
+
static void monitor_handle_command1(void *opaque, const char *cmdline)
{
monitor_handle_command(cmdline);
- monitor_start_input();
+ if (!monitor_suspended)
+ monitor_start_input();
+ else
+ monitor_suspended = 2;
+}
+
+void monitor_suspend(void)
+{
+ monitor_suspended = 1;
+}
+
+void monitor_resume(void)
+{
+ if (monitor_suspended == 2)
+ monitor_start_input();
+ monitor_suspended = 0;
}
static void monitor_start_input(void)