From 05f50116545abde9d3dae21c569cfdbdcee963ba Mon Sep 17 00:00:00 2001 From: John Anderson Date: Tue, 24 Jun 2014 16:35:42 +0400 Subject: [PATCH] Fixed infinite loop described in INT-3453. --- .../ip/tcp/connection/TcpNioConnection.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/TcpNioConnection.java b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/TcpNioConnection.java index a42a03ea29..3d62f47f43 100644 --- a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/TcpNioConnection.java +++ b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/TcpNioConnection.java @@ -295,8 +295,16 @@ public class TcpNioConnection extends TcpConnectionSupport { * @throws IOException */ private synchronized Message convert() throws Exception { - if (!dataAvailable()) { - return null; + if (this.channelInputStream.available() <= 0) { + if (!writingToPipe) { + return null; + } + else { + Thread.sleep(5); + if (this.channelInputStream.available() <= 0) { + return null; + } + } } Message message = null; try {