aboutsummaryrefslogtreecommitdiffstats
path: root/AndroidAsync
diff options
context:
space:
mode:
authorZbigniew Szymański <zbigniew.szymanski@wearezeta.com>2014-12-15 15:23:45 +0100
committerZbigniew Szymański <zbigniew.szymanski@wearezeta.com>2014-12-15 15:23:45 +0100
commite32c22dc0c6c739a9ac07158d305cb7950a4f146 (patch)
tree2bd3f1072d6354ab8aa8033571fb8f1598a96bbf /AndroidAsync
parent683da377b7ecfc187b0d8f1ead969a5a8a80a7d3 (diff)
downloadAndroidAsync-e32c22dc0c6c739a9ac07158d305cb7950a4f146.tar.gz
AndroidAsync-e32c22dc0c6c739a9ac07158d305cb7950a4f146.tar.bz2
AndroidAsync-e32c22dc0c6c739a9ac07158d305cb7950a4f146.zip
Catch Throwable from socket.connect().
Due to framework bug nio socket connect method may throw AssertionError if socket is already closed on other thread, it would crash the whole app, and should just report an error for this request. Catching any Throwwable is the easiest work around this problem. Fixes #282
Diffstat (limited to 'AndroidAsync')
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/AsyncServer.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/AndroidAsync/src/com/koushikdutta/async/AsyncServer.java b/AndroidAsync/src/com/koushikdutta/async/AsyncServer.java
index 1b8ab50..7245d79 100644
--- a/AndroidAsync/src/com/koushikdutta/async/AsyncServer.java
+++ b/AndroidAsync/src/com/koushikdutta/async/AsyncServer.java
@@ -361,11 +361,11 @@ public class AsyncServer {
ckey.attach(cancel);
socket.connect(address);
}
- catch (IOException e) {
+ catch (Throwable e) {
if (ckey != null)
ckey.cancel();
StreamUtility.closeQuietly(socket);
- cancel.setComplete(e);
+ cancel.setComplete(new RuntimeException(e));
}
}
});