summaryrefslogtreecommitdiff
path: root/qemu-img.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2015-07-24 13:42:55 +0200
committerPeter Maydell <peter.maydell@linaro.org>2015-07-27 17:12:19 +0100
commitedec47cfef96209987cb7922286cb384916aae02 (patch)
tree72ba93a5e646a5b83526ecda1c5b16006c10c9b1 /qemu-img.c
parent3737129917c918767cdb8acd8ca6b342c45fa154 (diff)
downloadqemu-edec47cfef96209987cb7922286cb384916aae02.tar.gz
qemu-edec47cfef96209987cb7922286cb384916aae02.tar.bz2
qemu-edec47cfef96209987cb7922286cb384916aae02.zip
main-loop: fix qemu_notify_event for aio_notify optimization
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 <peter.maydell@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1437738175-23624-1-git-send-email-pbonzini@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'qemu-img.c')
0 files changed, 0 insertions, 0 deletions