[vlc-devel] [PATCH] network/io.c: minor fix

Frédéric Yhuel fyhuel at viotech.net
Wed Apr 4 14:11:58 CEST 2012


Unlike POLLERR, POLLHUP, and POLLNVAL, POLLRDHUP is not set by default.
See http://man7.org/linux/man-pages/man2/poll.2.html
---
 src/network/io.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/network/io.c b/src/network/io.c
index 0235921..ff8349c 100644
--- a/src/network/io.c
+++ b/src/network/io.c
@@ -257,9 +257,12 @@ ssize_t
 net_Read (vlc_object_t *restrict p_this, int fd, const v_socket_t *vs,
           void *restrict p_buf, size_t i_buflen, bool waitall)
 {
+#ifndef POLLRDHUP /* This is nice but non-portable */
+# define POLLRDHUP 0
+#endif
     size_t i_total = 0;
     struct pollfd ufd[2] = {
-        { .fd = fd,                           .events = POLLIN },
+        { .fd = fd,                           .events = POLLIN|POLLRDHUP },
         { .fd = vlc_object_waitpipe (p_this), .events = POLLIN },
     };
 
@@ -279,9 +282,6 @@ net_Read (vlc_object_t *restrict p_this, int fd, const v_socket_t *vs,
             continue;
         }
 
-#ifndef POLLRDHUP /* This is nice but non-portable */
-# define POLLRDHUP 0
-#endif
         if (i_total > 0)
         {
             /* Errors (-1) and EOF (0) will be returned on next call,
-- 
1.7.5.4




More information about the vlc-devel mailing list