On Thu, May 11, 2017 at 04:36:46PM +0200, Bruno Haible wrote:
> Daniel P. Berrange wrote:
> > Perhaps I'm mis-understanding, but I was looking at this code:
> > 
> >       h = (HANDLE) _get_osfhandle (pfd[i].fd);
> >       assure (h != NULL);
> >       if (IsSocketHandle (h))
> >         {
> >           int requested = FD_CLOSE;
> > 
> >           /* see above; socket handles are mapped onto select.  */
> >           if (sought & (POLLIN | POLLRDNORM))
> >             {
> >               requested |= FD_READ | FD_ACCEPT;
> >               FD_SET ((SOCKET) h, &rfds);
> >             }
> >           if (sought & (POLLOUT | POLLWRNORM | POLLWRBAND))
> >             {
> >               requested |= FD_WRITE | FD_CONNECT;
> >               FD_SET ((SOCKET) h, &wfds);
> >             }
> >           if (sought & (POLLPRI | POLLRDBAND))
> >             {
> >               requested |= FD_OOB;
> >               FD_SET ((SOCKET) h, &xfds);
> >             }
> > 
> > which takes the 'FD' and gets the associated SOCKET / HANDLE.
> > The 'xfds' fd_set is thus populated with a SOCKET, not a FD.
> 
> You're perfectly right. I misread the code. I'm applying this:

Great, thank you for confirming :-)


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

Reply via email to