Unverified Commit e9d0b424 authored by Gabi Melman's avatar Gabi Melman Committed by GitHub

Merge pull request #1427 from dominicpoeschko/patch-1

Handling SPDLOG_PREVENT_CHILD_FD in tcp_sink
parents 9f24f4bc eef981e0
...@@ -47,7 +47,7 @@ protected: ...@@ -47,7 +47,7 @@ protected:
size_t bytes_sent = 0; size_t bytes_sent = 0;
while (bytes_sent < formatted.size()) while (bytes_sent < formatted.size())
{ {
auto write_result = ::write(sock_, formatted.data(), formatted.size() - bytes_sent); auto write_result = ::write(sock_, formatted.data() + bytes_sent, formatted.size() - bytes_sent);
if (write_result < 0) if (write_result < 0)
{ {
SPDLOG_THROW(spdlog::spdlog_ex("write(2) failed", errno)); SPDLOG_THROW(spdlog::spdlog_ex("write(2) failed", errno));
...@@ -88,7 +88,12 @@ private: ...@@ -88,7 +88,12 @@ private:
int last_errno = 0; int last_errno = 0;
for (auto *rp = addrinfo_result; rp != nullptr; rp = rp->ai_next) for (auto *rp = addrinfo_result; rp != nullptr; rp = rp->ai_next)
{ {
socket_rv = ::socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); #ifdef SPDLOG_PREVENT_CHILD_FD
int const flags = SOCK_CLOEXEC;
#else
int const flags = 0;
#endif
socket_rv = ::socket(rp->ai_family, rp->ai_socktype | flags, rp->ai_protocol);
if (socket_rv == -1) if (socket_rv == -1)
{ {
last_errno = errno; last_errno = errno;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment