aio-posix: Unregister fd from ctx epoll when removing fd_handler.
Cleaning the events will cause aio_epoll_update to unregister the fd. Otherwise, the fd is kept registered until it is destroyed. 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-2-remy.noel@blade-group.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
7260438b70
commit
8821b34a73
@ -245,6 +245,9 @@ void aio_set_fd_handler(AioContext *ctx,
|
|||||||
QLIST_REMOVE(node, node);
|
QLIST_REMOVE(node, node);
|
||||||
deleted = true;
|
deleted = true;
|
||||||
}
|
}
|
||||||
|
/* Clean events in order to unregister fd from the ctx epoll. */
|
||||||
|
node->pfd.events = 0;
|
||||||
|
|
||||||
poll_disable_change = -!node->io_poll;
|
poll_disable_change = -!node->io_poll;
|
||||||
} else {
|
} else {
|
||||||
poll_disable_change = !io_poll - (node && !node->io_poll);
|
poll_disable_change = !io_poll - (node && !node->io_poll);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user