net/SocketDescriptor: fix SOCK_NONBLOCK flag in CreateSocketPairNonBlock()

This commit is contained in:
Max Kellermann 2018-08-21 11:27:15 +02:00
parent e092eadd8d
commit ebf607eef8
1 changed files with 6 additions and 6 deletions

View File

@ -170,7 +170,7 @@ SocketDescriptor::CreateNonBlock(int domain, int type, int protocol) noexcept
bool
SocketDescriptor::CreateSocketPair(int domain, int type, int protocol,
SocketDescriptor &a,
SocketDescriptor &a,
SocketDescriptor &b) noexcept
{
#ifdef SOCK_CLOEXEC
@ -189,17 +189,17 @@ SocketDescriptor::CreateSocketPair(int domain, int type, int protocol,
bool
SocketDescriptor::CreateSocketPairNonBlock(int domain, int type, int protocol,
SocketDescriptor &a,
SocketDescriptor &a,
SocketDescriptor &b) noexcept
{
#ifdef SOCK_CLOEXEC
/* implemented since Linux 2.6.27 */
type |= SOCK_CLOEXEC;
#ifdef SOCK_NONBLOCK
type |= SOCK_NONBLOCK;
#endif
if (!CreateSocketPair(domain, type, protocol, a, b))
return false;
#ifndef __linux__
#ifndef SOCK_NONBLOCK
a.SetNonBlocking();
b.SetNonBlocking();
#endif