From: RĂ©mi Denis-Courmont Date: Wed, 31 Mar 2010 16:08:15 +0000 (+0300) Subject: use vlc_socket() X-Git-Tag: 1.1.0-pre1~156 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=eb1988c900eee1c0325d56693b575713befb3716;p=vlc use vlc_socket() --- diff --git a/src/network/io.c b/src/network/io.c index 23d23f1614..69b1e0bedd 100644 --- a/src/network/io.c +++ b/src/network/io.c @@ -52,6 +52,7 @@ #endif #include +#include #ifndef INADDR_ANY # define INADDR_ANY 0x00000000 @@ -93,26 +94,12 @@ int net_SetupSocket (int fd) int net_Socket (vlc_object_t *p_this, int family, int socktype, int protocol) { - int fd; - -#ifdef SOCK_CLOEXEC - fd = socket (family, socktype | SOCK_NONBLOCK | SOCK_CLOEXEC, protocol); - if (fd == -1 && errno == EINVAL) -#endif + int fd = vlc_socket (family, socktype, protocol, true); + if (fd == -1) { - fd = socket (family, socktype, protocol); - if (fd == -1) - { - if (net_errno != EAFNOSUPPORT) - msg_Err (p_this, "cannot create socket: %m"); - return -1; - } -#ifndef WIN32 - fcntl (fd, F_SETFD, FD_CLOEXEC); - fcntl (fd, F_SETFL, fcntl (fd, F_GETFL, 0) | O_NONBLOCK); -#else - ioctlsocket (fd, FIONBIO, &(unsigned long){ 1 }); -#endif + if (net_errno != EAFNOSUPPORT) + msg_Err (p_this, "cannot create socket: %m"); + return -1; } setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, &(int){ 1 }, sizeof (int));