diff options
Diffstat (limited to 'AndroidAsync')
-rw-r--r-- | AndroidAsync/src/com/koushikdutta/async/AsyncSSLSocketWrapper.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/AndroidAsync/src/com/koushikdutta/async/AsyncSSLSocketWrapper.java b/AndroidAsync/src/com/koushikdutta/async/AsyncSSLSocketWrapper.java index 3dd7415..f7ac99e 100644 --- a/AndroidAsync/src/com/koushikdutta/async/AsyncSSLSocketWrapper.java +++ b/AndroidAsync/src/com/koushikdutta/async/AsyncSSLSocketWrapper.java @@ -103,7 +103,10 @@ public class AsyncSSLSocketWrapper implements AsyncSocketWrapper, AsyncSSLSocket socket.setClosedCallback(new CompletedCallback() { @Override public void onCompleted(Exception ex) { - callback.onHandshakeCompleted(new SSLException(ex), null); + if (ex != null) + callback.onHandshakeCompleted(ex, null); + else + callback.onHandshakeCompleted(new SSLException("socket closed during handshake"), null); } }); try { @@ -421,6 +424,8 @@ public class AsyncSSLSocketWrapper implements AsyncSocketWrapper, AsyncSSLSocket handshakeCallback = null; mSocket.setDataCallback(new DataCallback.NullDataCallback()); mSocket.end(); + // handshake sets this callback. unset it. + mSocket.setClosedCallback(null); mSocket.close(); hs.onHandshakeCompleted(e, null); return; |