On 01/31/2011 01:19 PM, Jan Kiszka wrote:
On 2011-01-31 10:44, Avi Kivity wrote: > On 01/27/2011 03:09 PM, Jan Kiszka wrote: >> If we call qemu_cpu_kick more than once before the target was able to >> process the signal, pthread_kill will fail, and qemu will abort. Prevent >> this by avoiding the redundant signal. >> > > Doesn't fit with the manual page (or with the idea that signals are > asynchronous): > > NAME > pthread_kill - send a signal to a thread > > > ... > > ERRORS > ESRCH No thread with the ID thread could be found. > > EINVAL An invalid signal was specified. > Valid remark, but I was receiving EAGAIN for blocked RT signals. Don't know if this is Linux-specific. A quick glance at the man pages did not reveal if this is allowed or at least gray area.
} else if (!is_si_special(info)) { if (sig >= SIGRTMIN && info->si_code != SI_USER) { /* * Queue overflow, abort. We may abort if the * signal was rt and sent by user using something * other than kill(). */ trace_signal_overflow_fail(sig, group, info); return -EAGAIN; }
However, even when selectively ignoring this, it's more efficient to catch the redundant signaling in user space.
Yes. -- error compiling committee.c: too many arguments to function -- 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