Repository: thrift
Updated Branches:
  refs/heads/master a131b8f92 -> ab2793aa9


THRIFT-2466: Improper error handling for SSL/TLS connections that don't 
complete a handshake
Client: Python
Patch: Benoit Sigoure


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

Branch: refs/heads/master
Commit: ab2793aa966d3a40a89fe4b392d3cc286721f36d
Parents: a131b8f
Author: Roger Meier <ro...@apache.org>
Authored: Mon Apr 21 21:20:00 2014 +0200
Committer: Roger Meier <ro...@apache.org>
Committed: Mon Apr 21 21:20:00 2014 +0200

----------------------------------------------------------------------
 lib/py/src/server/TProcessPoolServer.py | 2 ++
 lib/py/src/server/TServer.py            | 8 ++++++++
 2 files changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/thrift/blob/ab2793aa/lib/py/src/server/TProcessPoolServer.py
----------------------------------------------------------------------
diff --git a/lib/py/src/server/TProcessPoolServer.py 
b/lib/py/src/server/TProcessPoolServer.py
index 7a695a8..7369466 100644
--- a/lib/py/src/server/TProcessPoolServer.py
+++ b/lib/py/src/server/TProcessPoolServer.py
@@ -56,6 +56,8 @@ class TProcessPoolServer(TServer):
         while self.isRunning.value:
             try:
                 client = self.serverTransport.accept()
+                if not client:
+                  continue
                 self.serveClient(client)
             except (KeyboardInterrupt, SystemExit):
                 return 0

http://git-wip-us.apache.org/repos/asf/thrift/blob/ab2793aa/lib/py/src/server/TServer.py
----------------------------------------------------------------------
diff --git a/lib/py/src/server/TServer.py b/lib/py/src/server/TServer.py
index 2f24842..976a8f3 100644
--- a/lib/py/src/server/TServer.py
+++ b/lib/py/src/server/TServer.py
@@ -75,6 +75,8 @@ class TSimpleServer(TServer):
     self.serverTransport.listen()
     while True:
       client = self.serverTransport.accept()
+      if not client:
+        continue
       itrans = self.inputTransportFactory.getTransport(client)
       otrans = self.outputTransportFactory.getTransport(client)
       iprot = self.inputProtocolFactory.getProtocol(itrans)
@@ -103,6 +105,8 @@ class TThreadedServer(TServer):
     while True:
       try:
         client = self.serverTransport.accept()
+        if not client:
+          continue
         t = threading.Thread(target=self.handle, args=(client,))
         t.setDaemon(self.daemon)
         t.start()
@@ -182,6 +186,8 @@ class TThreadPoolServer(TServer):
     while True:
       try:
         client = self.serverTransport.accept()
+        if not client:
+          continue
         self.clients.put(client)
       except Exception, x:
         logging.exception(x)
@@ -214,6 +220,8 @@ class TForkingServer(TServer):
     self.serverTransport.listen()
     while True:
       client = self.serverTransport.accept()
+      if not client:
+        continue
       try:
         pid = os.fork()
 

Reply via email to