summaryrefslogtreecommitdiff
path: root/src/listensocket.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/listensocket.cpp')
-rw-r--r--src/listensocket.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/listensocket.cpp b/src/listensocket.cpp
index 8c5fda59a..d7217650e 100644
--- a/src/listensocket.cpp
+++ b/src/listensocket.cpp
@@ -83,6 +83,11 @@ ListenSocket::ListenSocket(ConfigTag* tag, const irc::sockets::sockaddrs& bind_t
#endif
}
+ SocketEngine::SetReuse(fd);
+ int rv = SocketEngine::Bind(this->fd, bind_to);
+ if (rv >= 0)
+ rv = SocketEngine::Listen(this->fd, ServerInstance->Config->MaxConn);
+
if (bind_to.family() == AF_UNIX)
{
const std::string permissionstr = tag->getString("permissions");
@@ -91,11 +96,6 @@ ListenSocket::ListenSocket(ConfigTag* tag, const irc::sockets::sockaddrs& bind_t
chmod(bind_to.str().c_str(), permissions);
}
- SocketEngine::SetReuse(fd);
- int rv = SocketEngine::Bind(this->fd, bind_to);
- if (rv >= 0)
- rv = SocketEngine::Listen(this->fd, ServerInstance->Config->MaxConn);
-
// Default defer to on for TLS listeners because in TLS the client always speaks first
int timeout = tag->getDuration("defer", (tag->getString("ssl").empty() ? 0 : 3));
if (timeout && !rv)