diff options
-rw-r--r-- | src/common/compat.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/common/compat.c b/src/common/compat.c index af8f2884d..8aab12a30 100644 --- a/src/common/compat.c +++ b/src/common/compat.c @@ -1084,10 +1084,12 @@ tor_open_socket_with_extensions(int domain, int type, int protocol, return s; #if defined(FD_CLOEXEC) - if (fcntl(s, F_SETFD, FD_CLOEXEC) == -1) { - log_warn(LD_FS,"Couldn't set FD_CLOEXEC: %s", strerror(errno)); - tor_close_socket_simple(s); - return TOR_INVALID_SOCKET; + if (cloexec) { + if (fcntl(s, F_SETFD, FD_CLOEXEC) == -1) { + log_warn(LD_FS,"Couldn't set FD_CLOEXEC: %s", strerror(errno)); + tor_close_socket_simple(s); + return TOR_INVALID_SOCKET; + } } #endif |