On (Thu) Jan 13 2011 [15:08:51], Gerd Hoffmann wrote: > On 01/13/11 15:00, Amit Shah wrote: > >On (Thu) Jan 13 2011 [14:55:25], Gerd Hoffmann wrote: > >>On 01/13/11 14:00, Amit Shah wrote: > >>> { > >>>- return assign_fd_handlers(fd, fd_read_poll, fd_read, fd_write, > >>>opaque); > >>>+ assign_fd_handlers(fd, fd_read_poll, fd_read, fd_write, opaque); > >>>+ set_read_poll_fd_action(fd, true); > >>>+ set_read_fd_action(fd, true); > >>>+ set_write_fd_action(fd, true); > >>>+ return 0; > >>> } > >> > >>I'd suggest to move the *action calls into assign_fd_handlers() so > >>the handlers default to being enabled in all cases. This should > >>match what most users need and thus minimize the number of *_action > >>calls needed. > > > >What may happen with that is the fd may get select()-ed for an operation > >that it didn't want to be put on the queue for. > > I can't see such a race window given that most qemu code runs > serialized anyway. If you call assign_fd_handlers() + > set_write_fd_action(false) in sequence I can't see how a select call > can happen inbetween ...
Not today, but later when we have threads doing this stuff? Should I just leave a comment to take care of this for later? Amit