You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by je...@apache.org on 2014/11/06 21:14:49 UTC

thrift git commit: THRIFT-2803 TCP_DEFER_ACCEPT not supported with domain sockets Client: C++ Patch: Jens Geyer

Repository: thrift
Updated Branches:
  refs/heads/master 157872dd2 -> a4b72eed2


THRIFT-2803 TCP_DEFER_ACCEPT not supported with domain sockets
Client: C++
Patch: Jens Geyer


Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/a4b72eed
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/a4b72eed
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/a4b72eed

Branch: refs/heads/master
Commit: a4b72eed2cd0ef4839874a69f76021c0267289f3
Parents: 157872d
Author: Jens Geyer <je...@apache.org>
Authored: Thu Nov 6 20:04:25 2014 +0100
Committer: Jens Geyer <je...@apache.org>
Committed: Thu Nov 6 21:14:04 2014 +0100

----------------------------------------------------------------------
 lib/cpp/src/thrift/transport/TServerSocket.cpp | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/thrift/blob/a4b72eed/lib/cpp/src/thrift/transport/TServerSocket.cpp
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/transport/TServerSocket.cpp b/lib/cpp/src/thrift/transport/TServerSocket.cpp
index fe9f7e8..0ce1bce 100755
--- a/lib/cpp/src/thrift/transport/TServerSocket.cpp
+++ b/lib/cpp/src/thrift/transport/TServerSocket.cpp
@@ -248,12 +248,14 @@ void TServerSocket::listen() {
 
   // Defer accept
   #ifdef TCP_DEFER_ACCEPT
-  if (-1 == setsockopt(serverSocket_, IPPROTO_TCP, TCP_DEFER_ACCEPT,
-                       &one, sizeof(one))) {
-    int errno_copy = THRIFT_GET_SOCKET_ERROR;
-    GlobalOutput.perror("TServerSocket::listen() setsockopt() TCP_DEFER_ACCEPT ", errno_copy);
-    close();
-    throw TTransportException(TTransportException::NOT_OPEN, "Could not set TCP_DEFER_ACCEPT", errno_copy);
+  if (path_.empty()) {
+    if (-1 == setsockopt(serverSocket_, IPPROTO_TCP, TCP_DEFER_ACCEPT,
+                         &one, sizeof(one))) {
+      int errno_copy = THRIFT_GET_SOCKET_ERROR;
+      GlobalOutput.perror("TServerSocket::listen() setsockopt() TCP_DEFER_ACCEPT ", errno_copy);
+      close();
+      throw TTransportException(TTransportException::NOT_OPEN, "Could not set TCP_DEFER_ACCEPT", errno_copy);
+    }
   }
   #endif // #ifdef TCP_DEFER_ACCEPT