Thrift socket should not perror in the TRYAGAIN state

Reviewed By: wayne


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664942 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/cpp/src/transport/TSocket.cpp b/lib/cpp/src/transport/TSocket.cpp
index e3615ca..0c3f773 100644
--- a/lib/cpp/src/transport/TSocket.cpp
+++ b/lib/cpp/src/transport/TSocket.cpp
@@ -229,9 +229,7 @@
   ++g_socket_syscalls;
   
   // Check for error on read
-  if (got < 0) {
-    perror("TSocket::read()");
-    
+  if (got < 0) {   
     // If temporarily out of resources, sleep a bit and try again
     if (errno == EAGAIN && retries++ < MAX_RECV_RETRIES) {
       usleep(50);
@@ -243,6 +241,9 @@
       goto try_again;
     }
     
+    // Now it's not a try again case, but a real probblez
+    perror("TSocket::read()");
+
     // If we disconnect with no linger time
     if (errno == ECONNRESET) {
       throw TTransportException(TTX_NOT_OPEN, "ECONNRESET");