From 4ff5ab67d7cd6a6cbd28d55ed4e244fb9c3b8833 Mon Sep 17 00:00:00 2001 From: Yakun Xu Date: Fri, 21 May 2021 12:41:17 +0800 Subject: [PATCH] [posix] make all sockets non-blocking (#6656) --- src/posix/platform/netif.cpp | 4 ++-- src/posix/platform/trel_udp6.cpp | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/posix/platform/netif.cpp b/src/posix/platform/netif.cpp index c4421bc55..b29930832 100644 --- a/src/posix/platform/netif.cpp +++ b/src/posix/platform/netif.cpp @@ -1418,9 +1418,9 @@ static void platformConfigureTunDevice(otInstance *aInstance, static void platformConfigureNetLink(void) { #if defined(__linux__) - sNetlinkFd = socket(AF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE); + sNetlinkFd = SocketWithCloseExec(AF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE, kSocketNonBlock); #elif defined(__APPLE__) || defined(__NetBSD__) || defined(__FreeBSD__) - sNetlinkFd = socket(PF_ROUTE, SOCK_RAW, 0); + sNetlinkFd = SocketWithCloseExec(PF_ROUTE, SOCK_RAW, 0, kSocketNonBlock); #else #error "!! Unknown platform !!" #endif diff --git a/src/posix/platform/trel_udp6.cpp b/src/posix/platform/trel_udp6.cpp index 4908994a7..37eaebdaf 100644 --- a/src/posix/platform/trel_udp6.cpp +++ b/src/posix/platform/trel_udp6.cpp @@ -154,7 +154,7 @@ static void UpdateUnicastAddress(const otIp6Address *aUnicastAddress, bool aToAd char buf[64]; } request; - netlinkSocket = socket(AF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE); + netlinkSocket = SocketWithCloseExec(AF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE, kSocketNonBlock); VerifyOrDie(netlinkSocket >= 0, OT_EXIT_ERROR_ERRNO); memset(&request, 0, sizeof(request)); @@ -212,7 +212,7 @@ static void AddUnicastAddress(const otIp6Address *aUnicastAddress) otLogDebgPlat("[trel] AddUnicastAddress(%s)", Ip6AddrToString(aUnicastAddress)); - mgmtFd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_IP); + mgmtFd = SocketWithCloseExec(AF_INET6, SOCK_DGRAM, IPPROTO_IP, kSocketNonBlock); VerifyOrDie(mgmtFd >= 0, OT_EXIT_ERROR_ERRNO); memcpy(&ifr6.ifr6_addr, aUnicastAddress, sizeof(otIp6Address)); @@ -244,7 +244,7 @@ static void RemoveUnicastAddress(const otIp6Address *aUnicastAddress) otLogDebgPlat("[trel] RemoveUnicastAddress(%s)", Ip6AddrToString(aUnicastAddress)); - mgmtFd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_IP); + mgmtFd = SocketWithCloseExec(AF_INET6, SOCK_DGRAM, IPPROTO_IP, kSocketNonBlock); VerifyOrDie(mgmtFd >= 0, OT_EXIT_ERROR_ERRNO); memcpy(&ifr6.ifr6_addr, aUnicastAddress, sizeof(otIp6Address)); @@ -269,7 +269,7 @@ static void PrepareSocket(void) otLogDebgPlat("[trel] PrepareSocket()"); - sSocket = socket(AF_INET6, SOCK_DGRAM, 0); + sSocket = SocketWithCloseExec(AF_INET6, SOCK_DGRAM, 0, kSocketNonBlock); VerifyOrDie(sSocket >= 0, OT_EXIT_ERROR_ERRNO); // Set the multicast interface index (for tx), disable loop back