aboutsummaryrefslogtreecommitdiffstats
path: root/console.h
diff options
context:
space:
mode:
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2009-03-05 23:01:15 +0000
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2009-03-05 23:01:15 +0000
commitbb5fc20f7c1c65e95030da3629dd0d7a0cce38cd (patch)
tree2cb53fa2bf9b5165b338e1cc85c8dedc5bf25879 /console.h
parent9dd442b1234a27375c956e650e49a32c61ff6167 (diff)
monitor: Rework modal password input (Jan Kiszka)
Currently, waiting for the user to type in some password blocks the whole VM because monitor_readline starts its own I/O loop. And this loop also screws up reading passwords from virtual console. Patch below fixes the shortcomings by using normal I/O processing also for waiting on a password. To keep to modal property for the monitor terminal, the command handler is temporarily replaced by a password handler and a callback infrastructure is established to process the result before switching back to command mode. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6710 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'console.h')
-rw-r--r--console.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/console.h b/console.h
index f9f3fc739..dcb49adad 100644
--- a/console.h
+++ b/console.h
@@ -304,7 +304,11 @@ void term_flush(void);
void term_print_help(void);
void monitor_suspend(void);
void monitor_resume(void);
-int monitor_read_bdrv_key(BlockDriverState *bs);
+
+#include "block.h"
+void monitor_read_bdrv_key_start(BlockDriverState *bs,
+ BlockDriverCompletionFunc *completion_cb,
+ void *opaque);
/* readline.c */
typedef void ReadLineFunc(void *opaque, const char *str);