Message ID | 1453913621-20961-2-git-send-email-mjrosato@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
diff --git a/exec.c b/exec.c index 7115403..c8da9d4 100644 --- a/exec.c +++ b/exec.c @@ -596,6 +596,7 @@ void cpu_exec_exit(CPUState *cpu) return; } + QTAILQ_REMOVE(&cpus, cpu, node); bitmap_clear(cpu_index_map, cpu->cpu_index, 1); cpu->cpu_index = -1; } @@ -614,6 +615,15 @@ static int cpu_get_free_index(Error **errp) void cpu_exec_exit(CPUState *cpu) { + cpu_list_lock(); + if (cpu->cpu_index == -1) { + cpu_list_unlock(); + return; + } + + QTAILQ_REMOVE(&cpus, cpu, node); + cpu->cpu_index = -1; + cpu_list_unlock(); } #endif