summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2014-11-07 14:41:24 -0800
committerJeff Sharkey <jsharkey@android.com>2014-11-07 14:41:26 -0800
commit83cf6d5b7504abda93420d04efa4f96d5f86a1df (patch)
tree2783d2365aed80d91200c14d5f5addc2d0a9e00b
parentda9d77a478a2ab33ad81066012cab73b7c9dee3f (diff)
downloadandroid_packages_providers_DownloadProvider-83cf6d5b7504abda93420d04efa4f96d5f86a1df.tar.gz
android_packages_providers_DownloadProvider-83cf6d5b7504abda93420d04efa4f96d5f86a1df.tar.bz2
android_packages_providers_DownloadProvider-83cf6d5b7504abda93420d04efa4f96d5f86a1df.zip
Defeat connection reuse to really cancel.
Otherwise servers may continue streaming large downloads into the kept-alive socket. This changes to always close the socket, sending a clear signal to server. Bug: 16153076 Change-Id: I3e7fefce4f82b5f80abaab58874cc4c4374d2bfb
-rw-r--r--src/com/android/providers/downloads/DownloadThread.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/com/android/providers/downloads/DownloadThread.java b/src/com/android/providers/downloads/DownloadThread.java
index 51e71b27..c0f5a5e9 100644
--- a/src/com/android/providers/downloads/DownloadThread.java
+++ b/src/com/android/providers/downloads/DownloadThread.java
@@ -792,6 +792,10 @@ public class DownloadThread implements Runnable {
// easily resume partial downloads.
conn.setRequestProperty("Accept-Encoding", "identity");
+ // Defeat connection reuse, since otherwise servers may continue
+ // streaming large downloads after cancelled.
+ conn.setRequestProperty("Connection", "close");
+
if (resuming) {
if (mInfoDelta.mETag != null) {
conn.addRequestProperty("If-Match", mInfoDelta.mETag);