mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
cpus: Access CPUState::thread_kicked atomically
cpus_kick_thread() is called via cpu_exit() -> qemu_cpu_kick(),
and also via gdb_syscall_handling(). Access the CPUState field
using atomic accesses. See commit 8ac2ca02744 ("accel: use atomic
accesses for exit_request") for rationale.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Message-Id: <20250925025520.71805-3-philmd@linaro.org>
This commit is contained in:
+2
-2
@@ -480,10 +480,10 @@ void qemu_process_cpu_events(CPUState *cpu)
|
||||
|
||||
void cpus_kick_thread(CPUState *cpu)
|
||||
{
|
||||
if (cpu->thread_kicked) {
|
||||
if (qatomic_read(&cpu->thread_kicked)) {
|
||||
return;
|
||||
}
|
||||
cpu->thread_kicked = true;
|
||||
qatomic_set(&cpu->thread_kicked, true);
|
||||
|
||||
#ifndef _WIN32
|
||||
int err = pthread_kill(cpu->thread->thread, SIG_IPI);
|
||||
|
||||
Reference in New Issue
Block a user