> From: Erik Faye-Lund [mailto:kusmabite@xxxxxxxxx] > Sent: Saturday, September 08, 2012 1:32 PM > To: Joachim Schmitz > Cc: Junio C Hamano; git@xxxxxxxxxxxxxxx > Subject: Re: [PATCH v4 4/4] make poll() work on platforms that can't recv() on a non-socket > > On Fri, Sep 7, 2012 at 5:43 PM, Joachim Schmitz <jojo@xxxxxxxxxxxxxxxxxx> wrote: > > This way it gets added to gnulib too. > > > > Signed-off-by: Joachim Schmitz <jojo@xxxxxxxxxxxxxxxxxx> > > --- > > compat/poll/poll.c | 5 +++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/compat/poll/poll.c b/compat/poll/poll.c > > index e4b8319..10a204e 100644 > > --- a/compat/poll/poll.c > > +++ b/compat/poll/poll.c > > @@ -306,6 +306,10 @@ compute_revents (int fd, int sought, fd_set *rfds, fd_set *wfds, fd_set *efds) > > || socket_errno == ECONNABORTED || socket_errno == ENETRESET) > > happened |= POLLHUP; > > > > + /* some systems can't use recv() on non-socket, including HP NonStop */ > > + else if (/* (r == -1) && */ socket_errno == ENOTSOCK) > > Why add commented-out code ("(r == -1) && ")? I'm not really sure whether it may be needed, esp. for Mac OS X, where en ENOTSOCK is expected from a recv() but then dealt with by an ioctl(), which does not resert socket_errno, but does set r to something not -1. And wouldn't need this code path? There's some similar code a few lines up, which too has that part commented out: /* If the event happened on an unconnected server socket, that's fine. */ else if (r > 0 || ( /* (r == -1) && */ socket_errno == ENOTCONN)) happened |= (POLLIN | POLLRDNORM) & sought; Bye, Jojo -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html