Thread (14 messages) flat view 14 messages, 3 authors, 2016-06-15

Re: poll() emulation in git

From: Paolo Bonzini <hidden>
Date: 2016-06-15 22:54:38

Il 05/09/2012 15:36, Joachim Schmitz ha scritto:
quoted
quoted
quoted
quoted
Does your system have a working FIONREAD ioctl for pipes?
It does have FIONREAD ioctl. Whether it works properly is to be determined...
I'll test if you could show me how?
Oh, now I see what you aimed at, but no, that Mac OS X method doesn't work for me, I tried (at least I think I did).

And <sys/ioctl.h> has
/*
 * Normal IOCTL's supported by the socket interface
 */
#define FIONREAD        _IOR(0, 8, _ioctl_int)       /* Num of bytes to read */
#define FIONBIO         _IOW(0, 9, _ioctl_int)       /* Non-blocking I/O     */

So these seem to be supported on sockets only, I guess.
And indeed the man pages for ioctl confirms:

          Valid values for the request parameter for AF_INET or
          AF_INET6 sockets are:


          FIONREAD  Gets the number of bytes available for reading and
                    stores it at the int pointed at by arg.


So not even AF_UNIX sockets, not to mention pipes...
So there's no way you can support POLLHUP.  Your system is quite
crippled. :(

Paolo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help