From 52e30a99b4a90a31c305f59663b19569a7be45a3 Mon Sep 17 00:00:00 2001 From: Chris Broekema <broekema@astron.nl> Date: Fri, 9 Feb 2007 12:10:25 +0000 Subject: [PATCH] BugID: 1011 Don't allow the kernel buffers to be set on BlueGene (since it doesn't implement setsockopt()) --- LCS/Transport/src/TH_Socket.cc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/LCS/Transport/src/TH_Socket.cc b/LCS/Transport/src/TH_Socket.cc index 792049bc784..0b3468dc44a 100644 --- a/LCS/Transport/src/TH_Socket.cc +++ b/LCS/Transport/src/TH_Socket.cc @@ -350,7 +350,7 @@ bool TH_Socket::initBuffers(int recvBufferSize, int sendBufferSize) { else socketFD = itsDataSocket->getSid(); if (recvBufferSize != -1) { -#ifdef __linux__ +#if defined __linux__ && !defined HAVE_BGL int name[] = { CTL_NET, NET_CORE, NET_CORE_RMEM_MAX }; int value; size_t valueSize = sizeof(value); @@ -362,15 +362,16 @@ bool TH_Socket::initBuffers(int recvBufferSize, int sendBufferSize) { LOG_WARN("TH_Socket: could not increase max socket receive buffer"); } } -#endif // now set the buffer for our socket if (setsockopt(socketFD, SOL_SOCKET, SO_RCVBUF, &recvBufferSize, sizeof(recvBufferSize)) < 0) { LOG_WARN("TH_Socket: receive buffer size could not be set, default size will be used."); } +#endif + } if (sendBufferSize != -1) { -#ifdef __linux__ +#if defined __linux__ && !defined HAVE_BGL int name[] = { CTL_NET, NET_CORE, NET_CORE_WMEM_MAX }; int value; size_t valueSize = sizeof(value); @@ -382,11 +383,12 @@ bool TH_Socket::initBuffers(int recvBufferSize, int sendBufferSize) { LOG_WARN("TH_Socket: could not increase max socket send buffer"); } } -#endif - if (setsockopt(socketFD, SOL_SOCKET, SO_RCVBUF, &sendBufferSize, sizeof(sendBufferSize)) < 0) + if (setsockopt(socketFD, SOL_SOCKET, SO_SNDBUF, &sendBufferSize, sizeof(sendBufferSize)) < 0) { LOG_WARN("TH_Socket: send buffer size could not be set, default size will be used."); } +#endif + } return true; } -- GitLab