diff options
author | unknown <lzhou/zhl@dev3-63.(none)> | 2007-03-30 15:01:03 +0000 |
---|---|---|
committer | unknown <lzhou/zhl@dev3-63.(none)> | 2007-03-30 15:01:03 +0000 |
commit | 76678a48e2df70b9ff3ae44e4de9c8c0e9a743e2 (patch) | |
tree | c78244ac77e9a11855619e656d101baa7727d343 /ndb | |
parent | 3a6ee28ef454640b4e9cb244060bb16548458712 (diff) | |
download | mariadb-git-76678a48e2df70b9ff3ae44e4de9c8c0e9a743e2.tar.gz |
BUG#24793 Add SO_KEEPALIVE socket option to avoid cluster nodes keeping dead connections forever.
ndb/src/common/transporter/TCP_Transporter.cpp:
Add SO_KEEPALIVE socket option
Diffstat (limited to 'ndb')
-rw-r--r-- | ndb/src/common/transporter/TCP_Transporter.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ndb/src/common/transporter/TCP_Transporter.cpp b/ndb/src/common/transporter/TCP_Transporter.cpp index 91a5fb50c57..897bad8b787 100644 --- a/ndb/src/common/transporter/TCP_Transporter.cpp +++ b/ndb/src/common/transporter/TCP_Transporter.cpp @@ -155,6 +155,8 @@ TCP_Transporter::initTransporter() { void TCP_Transporter::setSocketOptions(){ + int sockOptKeepAlive = 1; + if (setsockopt(theSocket, SOL_SOCKET, SO_RCVBUF, (char*)&sockOptRcvBufSize, sizeof(sockOptRcvBufSize)) < 0) { #ifdef DEBUG_TRANSPORTER @@ -169,6 +171,11 @@ TCP_Transporter::setSocketOptions(){ #endif }//if + if (setsockopt(theSocket, SOL_SOCKET, SO_KEEPALIVE, + (char*)&sockOptKeepAlive, sizeof(sockOptKeepAlive)) < 0) { + ndbout_c("The setsockopt SO_KEEPALIVE error code = %d", InetErrno); + }//if + //----------------------------------------------- // Set the TCP_NODELAY option so also small packets are sent // as soon as possible |