On 11/20/2017 08:23 PM, Jeff Cody wrote: > The previous patch fixed a race condition, in which there were > coroutines being executing doubly, or after coroutine deletion. > > We can detect common scenarios when this happens, and print an error > message and abort before we corrupt memory / data, or segfault. > > This patch will abort if an attempt to enter a coroutine is made while > it is currently pending execution, either in a specific AioContext bh, > or pending execution via a timer. It will also abort if a coroutine > is scheduled, before a prior scheduled run has occured.
s/occured/occurred/ > > We cannot rely on the existing co->caller check for recursive re-entry > to catch this, as the coroutine may run and exit with > COROUTINE_TERMINATE before the scheduled coroutine executes. > > (This is the scenario that was occuring and fixed in the previous s/occuring/occurring/ > patch). > > Signed-off-by: Jeff Cody <jc...@redhat.com> > --- -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature