[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