On 09/20/2011 06:53 PM, Jan Kiszka wrote:
- qemu_thread_create(&thread_id, event_thread, card); - qemu_thread_create(&thread_id, handle_apdu_thread, card); + qemu_thread_create(&thread_id, event_thread, card, QEMU_THREAD_DETACHED); + qemu_thread_create(&thread_id, handle_apdu_thread, card, + QEMU_THREAD_DETACHED); return 0; }
I think these two should be joinable. Otherwise, you might be destroying the apdu_thread_quit_mutex while the handle_apdu_thread hasn't yet finished unlocking it (even though it already progressed enough in qemu_mutex_destroy to release the main thread).
Anyhow, the bug is not introduced by your patch, so Reviewed-by: Paolo Bonzini <pbonz...@redhat.com>