]> git.sesse.net Git - vlc/blobdiff - src/network/tcp.c
Linux: use accept4 if available (glibc 2.10)
[vlc] / src / network / tcp.c
index 4297a20a1e69b4653c407459c88848c0712da3c7..0347010b2eb7426352c99fd5293dc0f531fe2abf 100644 (file)
@@ -255,8 +255,15 @@ next_ai: /* failure */
 int net_AcceptSingle (vlc_object_t *obj, int lfd)
 {
     int fd;
+
     do
+    {
+#ifdef HAVE_ACCEPT4
+        fd = accept4 (lfd, NULL, NULL, SOCK_CLOEXEC);
+        if (fd == -1 && errno == ENOSYS)
+#endif
         fd = accept (lfd, NULL, NULL);
+    }
     while (fd == -1 && errno == EINTR);
 
     if (fd == -1)