Module: libav
Branch: master
Commit: 881b80b3294483696a21b21a69fa5eee30f33037

Author:    wm4 <[email protected]>
Committer: Martin Storsjö <[email protected]>
Date:      Thu May 28 18:23:27 2015 +0200

network: prevent SIGPIPE on OSX

OSX does not know MSG_NOSIGNAL. BSD (which OSX is based on) has got
the socket option SO_NOSIGPIPE (even if modern BSDs also support
MSG_NOSIGNAL).

Signed-off-by: Martin Storsjö <[email protected]>

---

 libavformat/network.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavformat/network.c b/libavformat/network.c
index a12e70d..2c34b4a 100644
--- a/libavformat/network.c
+++ b/libavformat/network.c
@@ -153,6 +153,10 @@ int ff_socket(int af, int type, int proto)
             fcntl(fd, F_SETFD, FD_CLOEXEC);
 #endif
     }
+#ifdef SO_NOSIGPIPE
+    if (fd != -1)
+        setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, &(int){1}, sizeof(int));
+#endif
     return fd;
 }
 

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to