On Fri, Jul 24, 2015 at 01:42:55PM +0200, Paolo Bonzini wrote:
> aio_notify can be optimized away, and in fact almost always will.  However,
> qemu_notify_event is used in places where this is incorrect---most notably,
> when handling SIGTERM.  When aio_notify is optimized away, it is possible that
> QEMU enters a blocking ppoll immediately afterwards and stays there, without
> reaching main_loop_should_exit().
> 
> Fix this by using a bottom half.  The bottom half can be optimized too, but
> scheduling it is enough for the ppoll not to block.  The hang is thus avoided.
> 
> Reported-by: Peter Maydell <[email protected]>
> Signed-off-by: Paolo Bonzini <[email protected]>
> ---
>  main-loop.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)

Reviewed-by: Stefan Hajnoczi <[email protected]>

Attachment: pgposF5kYlx61.pgp
Description: PGP signature

Reply via email to