Ping? On 02/07/12 05:48, Alexey Kardashevskiy wrote: > QEMU uses IO handlers to run select() in the main loop. The handlers list is > managed by qemu_set_fd_handler() helper which works fine when called from the > main thread as it is called not when select() is waiting. > > However sometime we need to update the handlers list from another thread. For > that the main loop's select() needs to be restarted with the updated list. > > The patch adds the qemu_notify_event() call to interrupt select() and make > wrapping code to restart select() with the updated IO handlers list. > > Signed-off-by: Alexey Kardashevskiy <a...@ozlabs.ru> > Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> > > --- > iohandler.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/iohandler.c b/iohandler.c > index 3c74de6..dea4355 100644 > --- a/iohandler.c > +++ b/iohandler.c > @@ -77,6 +77,7 @@ int qemu_set_fd_handler2(int fd, > ioh->fd_write = fd_write; > ioh->opaque = opaque; > ioh->deleted = 0; > + qemu_notify_event(); > } > return 0; > } >
-- Alexey