cpus: be more paranoid in avoiding deadlocks
commit21618b3e55ad2c6fede0bffcaea466091811ce59
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 27 Feb 2015 19:01:03 +0000 (27 20:01 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 2 Mar 2015 09:57:07 +0000 (2 10:57 +0100)
tree58dbdbeafd87102b9613b630682bc66c05c7451e
parent6b49809c597331803ea941eadda813e5bb4e8fe2
cpus: be more paranoid in avoiding deadlocks

For good measure, ensure that the following sequence:

   thread 1 calls qemu_mutex_lock_iothread
   thread 2 calls qemu_mutex_lock_iothread
   VCPU thread are created
   VCPU thread enters execution loop

results in the VCPU threads letting the other two threads run
and obeying iothread_requesting_mutex even if the VCPUs are
not halted.  To do this, check iothread_requesting_mutex
before execution starts.

Tested-by: Leon Alrae <leon.alrae@imgtec.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
cpus.c