semantic: 0.195 device: 0.133 other: 0.089 graphic: 0.079 network: 0.078 socket: 0.066 files: 0.058 performance: 0.057 vnc: 0.049 permissions: 0.048 debug: 0.044 boot: 0.043 PID: 0.043 KVM: 0.018 debug: 0.297 PID: 0.143 files: 0.120 other: 0.102 performance: 0.069 device: 0.063 semantic: 0.059 KVM: 0.027 boot: 0.024 graphic: 0.023 network: 0.022 socket: 0.020 permissions: 0.018 vnc: 0.014 qemu-user doesn't block target signals on entry to signal hanlder. Upon entry to a target signal handler the function process_pending_signals in linux-user/signal.c block the appropriate host signals, but signals already received and queued by Qemu are not blocked. If multiple signals arrive in quick succession this results incorrect recursion in the target signal handler. The attached test case my be run as: $ (sleep 2 ; echo) | qemu-i386 ./a.out .................. Recursion in signal handler! qemu: uncaught target signal 6 (Aborted) - core dumped The patches to block signals on entry to the signal handler have now been applied to master.