On 10/20/2010 04:56 PM, Paolo Bonzini wrote:
On 10/20/2010 09:51 PM, Anthony Liguori wrote:
I don't understand why this loop is needed but we specifically wait for
a signal to get delivered that's either SIG_IPI or SIGBUS. We then check
whether a SIG_IPI or SIGBUS is pending and loop waiting for signals
again.
Shouldn't we be looping on just sigismember(SIGBUS)?
You mean because SIG_IPI is a real-time signal and standard signals
are delivered first? OTOH, real-time signals can be queued multiple
times so it makes sense to loop on SIG_IPI as well.
BTW, we're no longer respecting timeout because we're not adjusting ts
after each iteration.
The timeout of qemu_kvm_eat_signal is always zero.
So then qemu_kvm_eat_signal purely polls and it will happily keep
polling as long as there is a signal pending.
So what's the point of doing a sigtimedwait() and dropping qemu_mutex?
Why not just check sigpending in a loop?
Regards,
Anthony Liguori
Paolo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html