mirror of
https://github.com/valitydev/thrift.git
synced 2024-11-07 10:48:51 +00:00
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
This commit is contained in:
parent
c42ecd5cfe
commit
c425780847
@ -229,9 +229,7 @@ uint32_t TSocket::read(uint8_t* buf, uint32_t len) {
|
||||
++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 @@ uint32_t TSocket::read(uint8_t* buf, uint32_t len) {
|
||||
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");
|
||||
|
Loading…
Reference in New Issue
Block a user