qemu/util
Kevin Wolf 536fca7f7e coroutine: Introduce qemu_coroutine_enter_if_inactive()
In the context of asynchronous work, if we have a worker coroutine that
didn't yield, the parent coroutine cannot be reentered because it hasn't
yielded yet. In this case we don't even have to reenter the parent
because it will see that the work is already done and won't even yield.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
2017-01-09 13:30:52 +01:00
..
acl.c
base64.c
bitmap.c bitmap: refine and move BITMAP_{FIRST/LAST}_WORD_MASK 2016-10-08 11:25:29 +03:00
bitops.c
buffer.c
bufferiszero.c cutils: Rewrite x86 buffer zero checking 2016-09-14 12:25:14 +02:00
compatfd.c
coroutine-gthread.c
coroutine-sigaltstack.c coroutine-sigaltstack: use helper for allocating stack memory 2016-09-29 14:13:39 +02:00
coroutine-ucontext.c coroutine-ucontext: use helper for allocating stack memory 2016-09-29 14:13:39 +02:00
coroutine-win32.c coroutine: add a macro for the coroutine stack size 2016-09-29 14:13:39 +02:00
crc32c.c
cutils.c cutils: Move buffer_is_zero and subroutines to a new file 2016-09-13 19:09:45 +02:00
envlist.c
error.c
event_notifier-posix.c aio: add AioPollFn and io_poll() interface 2017-01-03 16:38:48 +00:00
event_notifier-win32.c
fifo8.c
getauxval.c
hbitmap.c hbitmap: Fix shifts of constants by granularity 2016-11-29 17:46:36 +08:00
hexdump.c
host-utils.c
id.c
iov.c
log.c log: fix parsing of multiple trace:PATTERN log args 2016-09-14 22:52:44 +02:00
Makefile.objs aio: convert from RFifoLock to QemuRecMutex 2016-10-28 21:50:18 +08:00
memfd.c
mmap-alloc.c
module.c module: Don't load the same module if requested multiple times 2016-10-07 14:14:06 +02:00
notify.c
osdep.c
oslib-posix.c Fix FreeBSD (10.x) build after 7dc9ae43 2016-11-22 10:56:01 +00:00
oslib-win32.c util: Introduce qemu_get_pid_name 2016-10-04 10:00:27 +02:00
path.c
qdist.c
qemu-config.c block: Add bdrv_runtime_opts to query-command-line-options 2016-10-07 13:34:07 +02:00
qemu-coroutine-io.c
qemu-coroutine-lock.c coroutine: Assert that no locks are held on termination 2016-09-05 19:06:48 +02:00
qemu-coroutine-sleep.c
qemu-coroutine.c coroutine: Introduce qemu_coroutine_enter_if_inactive() 2017-01-09 13:30:52 +01:00
qemu-error.c qemu-error: remove dependency of stubs on monitor 2016-11-01 16:06:57 +01:00
qemu-openpty.c
qemu-option.c
qemu-progress.c
qemu-sockets.c sockets: add AF_VSOCK support 2016-10-31 19:49:33 -05:00
qemu-thread-posix.c qemu-thread: introduce QemuRecMutex 2016-10-28 21:50:18 +08:00
qemu-thread-win32.c qemu-thread: introduce QemuRecMutex 2016-10-28 21:50:18 +08:00
qemu-timer-common.c
qht.c qht: fix unlock-after-free segfault upon resizing 2016-10-06 18:04:13 +02:00
range.c
rcu.c rcu: simplify memory barriers 2016-10-24 11:30:56 +02:00
readline.c
throttle.c
timed-average.c
trace-events trace: move util/qemu-coroutine*.c trace points into correct file 2016-09-28 19:17:54 +01:00
unicode.c
uri.c
uuid.c uuid: Tighten uuid parse 2016-09-23 11:42:52 +08:00