diff options
| author | 2004-04-15 09:09:17 +0000 | |
|---|---|---|
| committer | 2004-04-15 09:09:17 +0000 | |
| commit | bed0c38419b46ff23b36f1edb7e5aca6a86c7c8e (patch) | |
| tree | 5dadc22abc17f9e48e5ad29157789857f436fef2 /src/connection.cpp | |
| parent | Tons of linking tweaks (diff) | |
Fixes for nonblocking socket issues
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@593 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/connection.cpp')
| -rw-r--r-- | src/connection.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/connection.cpp b/src/connection.cpp index 7c5468b42..c2b67412a 100644 --- a/src/connection.cpp +++ b/src/connection.cpp @@ -178,6 +178,12 @@ bool connection::AddIncoming(int fd,char* targethost) connector.SetServerName(targethost); connector.SetDescriptor(fd); connector.SetState(STATE_NOAUTH_INBOUND); + int flags = fcntl(fd, F_GETFL, 0); + fcntl(fd, F_SETFL, flags | O_NONBLOCK); + int sendbuf = 32768; + int recvbuf = 32768; + setsockopt(fd,SOL_SOCKET,SO_SNDBUF,(const void *)&sendbuf,sizeof(sendbuf)); + setsockopt(fd,SOL_SOCKET,SO_RCVBUF,(const void *)&recvbuf,sizeof(sendbuf)); this->connectors.push_back(connector); return true; } |
