Index: components/cronet/android/api/src/org/chromium/net/JavaUrlRequest.java |
diff --git a/components/cronet/android/api/src/org/chromium/net/JavaUrlRequest.java b/components/cronet/android/api/src/org/chromium/net/JavaUrlRequest.java |
index fe562799cda82ac2dda37922425f7e4ca9ba1ad6..aafc1309d01d96f7c2d6c81036f8287fb58a38d2 100644 |
--- a/components/cronet/android/api/src/org/chromium/net/JavaUrlRequest.java |
+++ b/components/cronet/android/api/src/org/chromium/net/JavaUrlRequest.java |
@@ -799,7 +799,7 @@ final class JavaUrlRequest implements UrlRequest { |
} |
void onCanceled(final UrlResponseInfo info) { |
- closeQuietly(mResponseChannel); |
+ closeResponseChannel(); |
mef
2016/08/25 22:23:54
would it make sense to just call closeQuietly from
Charles
2016/08/26 15:58:19
No, because then we'd be doing I/O on the user's e
mef
2016/08/26 16:14:11
Oh, I see. I've missed that those are different ex
|
mUserExecutor.execute(new Runnable() { |
@Override |
public void run() { |
@@ -826,7 +826,7 @@ final class JavaUrlRequest implements UrlRequest { |
} |
void onFailed(final UrlResponseInfo urlResponseInfo, final UrlRequestException e) { |
- closeQuietly(mResponseChannel); |
+ closeResponseChannel(); |
mUserExecutor.execute(new Runnable() { |
@Override |
public void run() { |
@@ -840,14 +840,21 @@ final class JavaUrlRequest implements UrlRequest { |
} |
} |
- private static void closeQuietly(Closeable closeable) { |
+ private void closeResponseChannel() { |
+ final Closeable closeable = mResponseChannel; |
if (closeable == null) { |
return; |
} |
- try { |
- closeable.close(); |
- } catch (IOException e) { |
- e.printStackTrace(); |
- } |
+ mResponseChannel = null; |
+ mExecutor.execute(new Runnable() { |
mef
2016/08/26 16:14:11
what if mExecutor rejects execution?
Charles
2016/08/26 18:15:51
It can't, we use an unbounded thread pool that's n
|
+ @Override |
+ public void run() { |
+ try { |
+ closeable.close(); |
+ } catch (IOException e) { |
+ e.printStackTrace(); |
+ } |
+ } |
+ }); |
} |
} |