> From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo > Bonzini > Sent: Wednesday, September 05, 2012 2:05 PM > To: Joachim Schmitz > Cc: 'Junio C Hamano'; g...@vger.kernel.org; 'Erik Faye-Lund'; > bug-gnulib@gnu.org > Subject: Re: poll() emulation in git > > Il 05/09/2012 13:24, Joachim Schmitz ha scritto: > > However: this poll implementation, while compiling OK, doesn't work > > properly. > > Because it uses recv(...,MSG_PEEK), it works on sockets only (returns > > ENOTSOCK on anything else), while the real poll() works on all > > kind if file descriptors, at least that is my understanding. > > Actually recv(...,MSG_PEEK) on most Unix variants works on non-sockets > too. The trick is taken from GNU Pth in turn. > > > Here on HP NonStop, when being connected via an non-interactive SSH, we get > > a set of pipes (stdin, stdout, stderr) instead of a > > socket to talk to, so the poll() just hangs/loops. > > 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? Bye, Jojo