mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-11 16:00:50 -07:00
qemu-thread: add API for joinable threads
Split from Jan's original qemu-thread-posix.c patch. No semantic change, just introduce the new API that POSIX and Win32 implementations will conform to. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
d396a657ba
commit
cf21871479
6 changed files with 21 additions and 11 deletions
6
cpus.c
6
cpus.c
|
|
@ -910,7 +910,8 @@ static void qemu_tcg_init_vcpu(void *_env)
|
|||
env->halt_cond = g_malloc0(sizeof(QemuCond));
|
||||
qemu_cond_init(env->halt_cond);
|
||||
tcg_halt_cond = env->halt_cond;
|
||||
qemu_thread_create(env->thread, qemu_tcg_cpu_thread_fn, env);
|
||||
qemu_thread_create(env->thread, qemu_tcg_cpu_thread_fn, env,
|
||||
QEMU_THREAD_DETACHED);
|
||||
while (env->created == 0) {
|
||||
qemu_cond_wait(&qemu_cpu_cond, &qemu_global_mutex);
|
||||
}
|
||||
|
|
@ -926,7 +927,8 @@ static void qemu_kvm_start_vcpu(CPUState *env)
|
|||
env->thread = g_malloc0(sizeof(QemuThread));
|
||||
env->halt_cond = g_malloc0(sizeof(QemuCond));
|
||||
qemu_cond_init(env->halt_cond);
|
||||
qemu_thread_create(env->thread, qemu_kvm_cpu_thread_fn, env);
|
||||
qemu_thread_create(env->thread, qemu_kvm_cpu_thread_fn, env,
|
||||
QEMU_THREAD_DETACHED);
|
||||
while (env->created == 0) {
|
||||
qemu_cond_wait(&qemu_cpu_cond, &qemu_global_mutex);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue