History | View | Annotate | Download (8.3 kB)
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>...
block: move include files to include/block/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
coroutine-sigaltstack.c: Use stack_t, not struct sigaltstack
Use the POSIX-specified stack_t type as the argument to sigaltstack()rather than the legacy struct sigaltstack. This allows us to compileon MacOSX with --with-coroutine=sigaltstack.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>...
coroutine: Fix setup of sigaltstack coroutines
Use pthread_kill instead of process-wide kill to invoke the signalhandler used for stack switching. This may fix spurious lock-ups withthis backend, easily triggerable by extending the time window betweenkill and sigsuspend....
fix some common typos
These were identified using: http://github.com/lyda/misspell-checkand run like this to create a bourne shell script using GNU sed's-i option:
git ls-files|grep -vF .bin | misspellings -f - |grep -v '^ERROR:' |perl \-pe 's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'...
coroutine: adding sigaltstack method (.c source)
This file is based in both coroutine-ucontext.c andpth_mctx.c (from the GNU Portable Threads library).
The mechanism used to change stacks is the sigaltstackfunction (variant 2 of the pth library).
v2: Some corrections. Moving global variables into...