From 843bcb6f4f65c0cdca327c6467813b88c52042f3 Mon Sep 17 00:00:00 2001 From: Brian Carlstrom Date: Sun, 2 Jan 2011 16:19:22 -0800 Subject: DefaultRequestDirector should ignore IOExceptions from stale connections The DefaultRequestDirector was letting IOExceptions from closing stale connections affect new requests. However, it was very common to received "SSL shutdown failed" exceptions in this case, since an SSL "close notify" message could not be sent. Now these and other IOExceptions are ignored so the request can continue with a new socket. Bug: 3317717 Change-Id: I72f6f4a8f70aacb8b4c3e93c51e9808742d1a605 --- src/org/apache/http/impl/client/DefaultRequestDirector.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/org/apache/http/impl/client/DefaultRequestDirector.java b/src/org/apache/http/impl/client/DefaultRequestDirector.java index 6df6246..b8f380b 100644 --- a/src/org/apache/http/impl/client/DefaultRequestDirector.java +++ b/src/org/apache/http/impl/client/DefaultRequestDirector.java @@ -334,7 +334,18 @@ public class DefaultRequestDirector implements RequestDirector { this.log.debug("Stale connection check"); if (managedConn.isStale()) { this.log.debug("Stale connection detected"); - managedConn.close(); + // BEGIN android-changed + try { + managedConn.close(); + } catch (IOException ignored) { + // SSLSocket's will throw IOException + // because they can't send a "close + // notify" protocol message to the + // server. Just supresss any + // exceptions related to closing the + // stale connection. + } + // END android-changed } } } -- cgit v1.1