summaryrefslogtreecommitdiff
path: root/java/common/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/common/src')
-rw-r--r--java/common/src/main/java/org/apache/qpid/transport/network/io/IoReceiver.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/transport/network/io/IoReceiver.java b/java/common/src/main/java/org/apache/qpid/transport/network/io/IoReceiver.java
index 0ab195ced8..fa2711ddde 100644
--- a/java/common/src/main/java/org/apache/qpid/transport/network/io/IoReceiver.java
+++ b/java/common/src/main/java/org/apache/qpid/transport/network/io/IoReceiver.java
@@ -243,7 +243,12 @@ final class IoReceiver implements Runnable, Closeable
t instanceof SocketException &&
"Socket is closed".equalsIgnoreCase(t.getMessage());
- return !brokenClose && !sslSocketClosed;
+ boolean recvFailed = closed.get() &&
+ shutdownBroken &&
+ t instanceof SocketException &&
+ "Socket operation on nonsocket: recv failed".equalsIgnoreCase(t.getMessage());
+
+ return !brokenClose && !sslSocketClosed && !recvFailed;
}
public Ticker getTicker()