Fix use of unportable MSG_CMSG_CLOEXEC
This commit is contained in:
parent
b44c4f41a6
commit
5fd548d5cf
|
@ -294,7 +294,7 @@ private:
|
||||||
msg.msg_control = fdbuf;
|
msg.msg_control = fdbuf;
|
||||||
msg.msg_controllen = sizeof(fdbuf);
|
msg.msg_controllen = sizeof(fdbuf);
|
||||||
|
|
||||||
int res = recvmsg(sock, &msg, MSG_CMSG_CLOEXEC);
|
int res = recvmsg(sock, &msg, 0);
|
||||||
if (res <= 0)
|
if (res <= 0)
|
||||||
throw disconnected{format("socket read failed: {}", strerror(errno))};
|
throw disconnected{format("socket read failed: {}", strerror(errno))};
|
||||||
|
|
||||||
|
@ -305,6 +305,7 @@ private:
|
||||||
{
|
{
|
||||||
m_ancillary_fd.map(close);
|
m_ancillary_fd.map(close);
|
||||||
memcpy(&m_ancillary_fd.emplace(), CMSG_DATA(cmsg), sizeof(int));
|
memcpy(&m_ancillary_fd.emplace(), CMSG_DATA(cmsg), sizeof(int));
|
||||||
|
fcntl(*m_ancillary_fd, F_SETFD, FD_CLOEXEC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user