[vlc-devel] [PATCH 5/5] network: use vlc_send()

RĂ©mi Denis-Courmont remi at remlab.net
Sat Mar 28 08:20:53 CET 2020


---
 include/vlc_network.h  | 4 ----
 src/misc/interrupt.c   | 4 ++--
 src/network/io.c       | 2 +-
 src/network/stream.c   | 4 ++--
 src/posix/filesystem.c | 3 +++
 5 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/include/vlc_network.h b/include/vlc_network.h
index c403e9a638..9e1ccd24cc 100644
--- a/include/vlc_network.h
+++ b/include/vlc_network.h
@@ -56,10 +56,6 @@
 #   define net_Close(fd) ((void)vlc_close(fd))
 #endif
 
-#ifndef MSG_NOSIGNAL
-# define MSG_NOSIGNAL 0
-#endif
-
 /**
  * Creates a socket file descriptor.
  *
diff --git a/src/misc/interrupt.c b/src/misc/interrupt.c
index 6512462ff2..2bd29b86b3 100644
--- a/src/misc/interrupt.c
+++ b/src/misc/interrupt.c
@@ -505,8 +505,8 @@ ssize_t vlc_sendmsg_i11e(int fd, const struct msghdr *msg, int flags)
 
     if (vlc_poll_i11e(&ufd, 1, -1) < 0)
         return -1;
-    /* NOTE: MSG_EOR, MSG_OOB and MSG_NOSIGNAL should all work fine here. */
-    return sendmsg(fd, msg, flags);
+    /* NOTE: MSG_EOR and MSG_OOB should all work fine here. */
+    return vlc_sendmsg(fd, msg, flags);
 }
 
 ssize_t vlc_sendto_i11e(int fd, const void *buf, size_t len, int flags,
diff --git a/src/network/io.c b/src/network/io.c
index 5c85b99798..8499a5dd37 100644
--- a/src/network/io.c
+++ b/src/network/io.c
@@ -421,7 +421,7 @@ ssize_t (net_Write)(vlc_object_t *obj, int fd, const void *buf, size_t len)
             return -1;
         }
 
-        ssize_t val = vlc_send_i11e (fd, buf, len, MSG_NOSIGNAL);
+        ssize_t val = vlc_send_i11e(fd, buf, len, 0);
         if (val == -1)
         {
             if (errno == EINTR || errno == EAGAIN)
diff --git a/src/network/stream.c b/src/network/stream.c
index 5a24bd7134..5c2ddac1a6 100644
--- a/src/network/stream.c
+++ b/src/network/stream.c
@@ -200,7 +200,7 @@ static ssize_t vlc_tls_SocketWrite(vlc_tls_t *tls, const struct iovec *iov,
         .msg_iovlen = count,
     };
 
-    return sendmsg(sock->fd, &msg, MSG_NOSIGNAL);
+    return vlc_sendmsg(sock->fd, &msg, 0);
 }
 
 static int vlc_tls_SocketShutdown(vlc_tls_t *tls, bool duplex)
@@ -371,7 +371,7 @@ static ssize_t vlc_tls_ConnectWrite(vlc_tls_t *tls,
     };
     ssize_t ret;
 
-    ret = sendmsg(sock->fd, &msg, MSG_NOSIGNAL|MSG_FASTOPEN);
+    ret = vlc_sendmsg(sock->fd, &msg, MSG_FASTOPEN);
     if (ret >= 0)
     {   /* Fast open in progress */
         return ret;
diff --git a/src/posix/filesystem.c b/src/posix/filesystem.c
index 89782a4bc2..60a997d9e0 100644
--- a/src/posix/filesystem.c
+++ b/src/posix/filesystem.c
@@ -51,6 +51,9 @@ static inline void vlc_cloexec(int fd)
     fcntl(fd, F_SETFD, FD_CLOEXEC | fcntl(fd, F_GETFD));
 }
 #endif
+#if !defined(MSG_NOSIGNAL) && defined(SO_NOSIGPIPE)
+# define MSG_NOSIGNAL 0
+#endif
 
 int vlc_open (const char *filename, int flags, ...)
 {
-- 
2.26.0



More information about the vlc-devel mailing list