Statistics
| Branch: | Revision:

root / coroutine-ucontext.c @ 34b5d2c6

History | View | Annotate | Download (5.6 kB)

# Date Author Comment
e6f53fd5 04/17/2013 06:28 pm Markus Armbruster

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...]...
864a556e 02/26/2013 03:44 pm Anthony Liguori

Merge remote-tracking branch 'kwolf/for-anthony' into staging

  1. By Paolo Bonzini (7) and others
  2. Via Kevin Wolf
    • kwolf/for-anthony: (22 commits)
      pc: add compatibility machine types for 1.4
      blockdev: enable discard by default
      qemu-nbd: add --discard option...
6ab7e546 02/23/2013 06:11 pm Peter Maydell

Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp()

The setjmp() function doesn't specify whether signal masks are saved and
restored; on Linux they are not, but on BSD (including MacOSX) they are.
We want to have consistent behaviour across platforms, so we should...

40239784 02/22/2013 10:21 pm Paolo Bonzini

coroutine: move pooling to common code

The coroutine pool code is duplicated between the ucontext and
sigaltstack backends, and absent from the win32 backend. But the
code can be shared easily by moving it to qemu-coroutine.c.

Signed-off-by: Paolo Bonzini <>...

cc6e3ca9 01/12/2013 02:42 pm Gerd Hoffmann

gcc: rename CONFIG_PRAGMA_DISABLE_UNUSED_BUT_SET to CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Blue Swirl <>

737e150e 12/19/2012 09:31 am Paolo Bonzini

block: move include files to include/block/

Signed-off-by: Paolo Bonzini <>

06d71fa1 07/31/2012 11:04 pm Peter Maydell

configure: Split valgrind test into pragma test and valgrind.h test

Split the configure test that checks for valgrind into two, one
part checking whether we have the gcc pragma to disable unused-but-set
variables, and the other part checking for the existence of valgrind.h....

3f4349dc 07/17/2012 05:48 pm Kevin Wolf

coroutine-ucontext: Help valgrind understand coroutines

valgrind tends to get confused and report false positives when you
switch stacks and don't tell it about it.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Paolo Bonzini <>

1bbbdabd 02/17/2012 04:33 pm Paolo Bonzini

coroutine: switch to QSLIST

QSLIST can be used for a free list, do it.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Anthony Liguori <>

39a7a362 12/15/2011 01:40 pm Avi Kivity

coroutine: switch per-thread free pool to a global pool

ucontext-based coroutines use a free pool to reduce allocations and
deallocations of coroutine objects. The pool is per-thread, presumably
to improve locality. However, as coroutines are usually allocated in...

7267c094 08/21/2011 07:01 am Anthony Liguori

Use glib memory allocation and free functions

qemu_malloc/qemu_free no longer exist after this commit.

Signed-off-by: Anthony Liguori <>

32b74677 08/08/2011 12:46 pm malc

Unbreak the build on ppc32

Signed-off-by: malc <>

00dccaf1 08/01/2011 01:14 pm Kevin Wolf

coroutine: introduce coroutines

Asynchronous code is becoming very complex. At the same time
synchronous code is growing because it is convenient to write.
Sometimes duplicate code paths are even added, one synchronous and the
other asynchronous. This patch introduces coroutines which allow code...