{"thread":{"id":"31575","subject":"[PATCH v7 4/4] make poll() work on platforms that can't recv() on a non-socket","startedAt":"2012-09-17T21:24:42Z","lastAt":"2012-09-17T21:24:42Z","messageCount":1,"participants":["Joachim Schmitz"],"isPatch":true,"patchVersion":7,"patchTotal":4},"messages":[{"id":"199294","messageId":"004e01cd951a$daed3740$90c7a5c0$@schmitz-digital.de","threadId":"31575","inReplyTo":null,"subject":"[PATCH v7 4/4] make poll() work on platforms that can't recv() on a non-socket","fromName":"Joachim Schmitz","fromEmail":"jojo@schmitz-digital.de","sentAt":"2012-09-17T21:24:42Z","receivedAt":"2012-09-17T21:24:42Z","isPatch":true,"sender":{"key":"jojo@schmitz-digital.de","avatar":"https://avatars.githubusercontent.com/u/1786669?v=4"},"body":"This way it just got added to gnulib too the other day.\n\nSigned-off-by: Joachim Schmitz <jojo@schmitz-digital.de>\n---\n compat/poll/poll.c | 5 +++++\n 1 file changed, 5 insertions(+)\n\ndiff --git a/compat/poll/poll.c b/compat/poll/poll.c\nindex e4b8319..10a204e 100644\n--- a/compat/poll/poll.c\n+++ b/compat/poll/poll.c\n@@ -306,6 +306,10 @@ compute_revents (int fd, int sought, fd_set *rfds, fd_set *wfds, fd_set *efds)\n \t       || socket_errno == ECONNABORTED || socket_errno == ENETRESET)\n \thappened |= POLLHUP;\n \n+      /* some systems can't use recv() on non-socket, including HP NonStop */\n+      else if (/* (r == -1) && */ socket_errno == ENOTSOCK)\n+\thappened |= (POLLIN | POLLRDNORM) & sought;\n+\n       else\n \thappened |= POLLERR;\n     }\n-- \n1.7.12\n"}]}