diff options
author | Remy Noel | 2018-12-20 16:20:30 +0100 |
---|---|---|
committer | Stefan Hajnoczi | 2019-01-14 15:09:41 +0100 |
commit | fef1660132b0f25bf2d275d7f986ddcfe19a4426 (patch) | |
tree | 3aa14f19cea3740b70df72d1751d5b50200711d2 /scripts/tracetool.py | |
parent | aio-posix: Unregister fd from ctx epoll when removing fd_handler. (diff) | |
download | qemu-fef1660132b0f25bf2d275d7f986ddcfe19a4426.tar.gz qemu-fef1660132b0f25bf2d275d7f986ddcfe19a4426.tar.xz qemu-fef1660132b0f25bf2d275d7f986ddcfe19a4426.zip |
aio-posix: Fix concurrent aio_poll/set_fd_handler.
It is possible for an io_poll callback to be concurrently executed along
with an aio_set_fd_handlers. This can cause all sorts of problems, like
a NULL callback or a bad opaque pointer.
This changes set_fd_handlers so that it no longer modify existing handlers
entries and instead, always insert those after having proper initialisation.
Tested-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Remy Noel <remy.noel@blade-group.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 20181220152030.28035-3-remy.noel@blade-group.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'scripts/tracetool.py')
0 files changed, 0 insertions, 0 deletions