THRIFT-3957 TConnectedClient does not disconnect from clients when the receive timeout is reached.
Client: C++
Patch: Claudius Heine <ch@denx.de>

This closes #1122
diff --git a/lib/cpp/src/thrift/server/TConnectedClient.cpp b/lib/cpp/src/thrift/server/TConnectedClient.cpp
index c248e63..9583284 100644
--- a/lib/cpp/src/thrift/server/TConnectedClient.cpp
+++ b/lib/cpp/src/thrift/server/TConnectedClient.cpp
@@ -64,24 +64,22 @@
       }
     } catch (const TTransportException& ttx) {
       switch (ttx.getType()) {
-      case TTransportException::TIMED_OUT:
-        // Receive timeout - continue processing.
-        continue;
+        case TTransportException::END_OF_FILE:
+        case TTransportException::INTERRUPTED:
+        case TTransportException::TIMED_OUT:
+          // Client disconnected or was interrupted or did not respond within the receive timeout.
+          // No logging needed.  Done.
+          done = true;
+          break;
 
-      case TTransportException::END_OF_FILE:
-      case TTransportException::INTERRUPTED:
-        // Client disconnected or was interrupted.  No logging needed.  Done.
-        done = true;
-        break;
-
-      default: {
-        // All other transport exceptions are logged.
-        // State of connection is unknown.  Done.
-        string errStr = string("TConnectedClient died: ") + ttx.what();
-        GlobalOutput(errStr.c_str());
-        done = true;
-        break;
-      }
+        default: {
+          // All other transport exceptions are logged.
+          // State of connection is unknown.  Done.
+          string errStr = string("TConnectedClient died: ") + ttx.what();
+          GlobalOutput(errStr.c_str());
+          done = true;
+          break;
+        }
       }
     } catch (const TException& tex) {
       string errStr = string("TConnectedClient processing exception: ") + tex.what();