aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuiz Capitulino <lcapitulino@redhat.com>2011-09-30 14:40:07 -0300
committerLuiz Capitulino <lcapitulino@redhat.com>2011-10-04 11:02:57 -0300
commitc4d11e38bd475f33d5fa9ceba5292304727f3113 (patch)
treed4a67814f60ed9109b717525fa67a0c7adcdc367
parent0d45b702918f855c24bfd13c0f91b31f89c2e097 (diff)
RunState: Drop the RSTATE_NO_STATE value
The QAPI framework won't generate it, so we need to get rid of it. In order to do that, this commit makes RSTATE_PRE_LAUNCH the initial state and change qemu_vmstop_requested() to use RSTATE_MAX. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
-rw-r--r--sysemu.h1
-rw-r--r--vl.c19
2 files changed, 7 insertions, 13 deletions
diff --git a/sysemu.h b/sysemu.h
index 43ff546f9b..41ccc02d5c 100644
--- a/sysemu.h
+++ b/sysemu.h
@@ -11,7 +11,6 @@
/* vl.c */
typedef enum {
- RSTATE_NO_STATE,
RSTATE_DEBUG, /* qemu is running under gdb */
RSTATE_IN_MIGRATE, /* paused waiting for an incoming migration */
RSTATE_PANICKED, /* paused due to an internal error */
diff --git a/vl.c b/vl.c
index 4db58bd976..bc61494d7c 100644
--- a/vl.c
+++ b/vl.c
@@ -323,7 +323,7 @@ static int default_driver_check(QemuOpts *opts, void *opaque)
/***********************************************************/
/* QEMU state */
-static RunState current_run_state = RSTATE_NO_STATE;
+static RunState current_run_state = RSTATE_PRE_LAUNCH;
typedef struct {
RunState from;
@@ -332,10 +332,6 @@ typedef struct {
static const RunStateTransition runstate_transitions_def[] = {
/* from -> to */
- { RSTATE_NO_STATE, RSTATE_RUNNING },
- { RSTATE_NO_STATE, RSTATE_IN_MIGRATE },
- { RSTATE_NO_STATE, RSTATE_PRE_LAUNCH },
-
{ RSTATE_DEBUG, RSTATE_RUNNING },
{ RSTATE_IN_MIGRATE, RSTATE_RUNNING },
@@ -350,6 +346,7 @@ static const RunStateTransition runstate_transitions_def[] = {
{ RSTATE_POST_MIGRATE, RSTATE_RUNNING },
{ RSTATE_PRE_LAUNCH, RSTATE_RUNNING },
+ { RSTATE_PRE_LAUNCH, RSTATE_IN_MIGRATE },
{ RSTATE_PRE_LAUNCH, RSTATE_POST_MIGRATE },
{ RSTATE_PRE_MIGRATE, RSTATE_RUNNING },
@@ -424,8 +421,7 @@ void runstate_set(RunState new_state)
const char *runstate_as_string(void)
{
- assert(current_run_state > RSTATE_NO_STATE &&
- current_run_state < RSTATE_MAX);
+ assert(current_run_state < RSTATE_MAX);
return runstate_name_tbl[current_run_state];
}
@@ -1294,7 +1290,7 @@ static int shutdown_requested, shutdown_signal = -1;
static pid_t shutdown_pid;
static int powerdown_requested;
static int debug_requested;
-static RunState vmstop_requested = RSTATE_NO_STATE;
+static RunState vmstop_requested = RSTATE_MAX;
int qemu_shutdown_requested_get(void)
{
@@ -1350,11 +1346,12 @@ static int qemu_debug_requested(void)
return r;
}
+/* We use RSTATE_MAX but any invalid value will do */
static bool qemu_vmstop_requested(RunState *r)
{
- if (vmstop_requested != RSTATE_NO_STATE) {
+ if (vmstop_requested < RSTATE_MAX) {
*r = vmstop_requested;
- vmstop_requested = RSTATE_NO_STATE;
+ vmstop_requested = RSTATE_MAX;
return true;
}
@@ -3569,8 +3566,6 @@ int main(int argc, char **argv, char **envp)
}
} else if (autostart) {
vm_start();
- } else {
- runstate_set(RSTATE_PRE_LAUNCH);
}
os_setup_post();