History | View | Annotate | Download (5.6 kB)
Fix warnings suppressors to honor --disable-werror
Replace
#pragma GCC diagnostic ignored FOO [Troublesome code...] #pragma GCC diagnostic error FOO
by
#pragma GCC diagnostic push #pragma GCC diagnostic ignored FOO [Troublesome code...]...
Merge remote-tracking branch 'kwolf/for-anthony' into staging
Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp()
The setjmp() function doesn't specify whether signal masks are saved andrestored; on Linux they are not, but on BSD (including MacOSX) they are.We want to have consistent behaviour across platforms, so we should...
coroutine: move pooling to common code
The coroutine pool code is duplicated between the ucontext andsigaltstack backends, and absent from the win32 backend. But thecode can be shared easily by moving it to qemu-coroutine.c.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>...
gcc: rename CONFIG_PRAGMA_DISABLE_UNUSED_BUT_SET to CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
block: move include files to include/block/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
configure: Split valgrind test into pragma test and valgrind.h test
Split the configure test that checks for valgrind into two, onepart checking whether we have the gcc pragma to disable unused-but-setvariables, and the other part checking for the existence of valgrind.h....
coroutine-ucontext: Help valgrind understand coroutines
valgrind tends to get confused and report false positives when youswitch stacks and don't tell it about it.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
coroutine: switch to QSLIST
QSLIST can be used for a free list, do it.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
coroutine: switch per-thread free pool to a global pool
ucontext-based coroutines use a free pool to reduce allocations anddeallocations of coroutine objects. The pool is per-thread, presumablyto improve locality. However, as coroutines are usually allocated in...
Use glib memory allocation and free functions
qemu_malloc/qemu_free no longer exist after this commit.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Unbreak the build on ppc32
Signed-off-by: malc <av1474@comtv.ru>
coroutine: introduce coroutines
Asynchronous code is becoming very complex. At the same timesynchronous code is growing because it is convenient to write.Sometimes duplicate code paths are even added, one synchronous and theother asynchronous. This patch introduces coroutines which allow code...