aboutsummaryrefslogtreecommitdiff
path: root/src/org/linaro/connect/LRUCache.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/linaro/connect/LRUCache.java')
-rw-r--r--src/org/linaro/connect/LRUCache.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/org/linaro/connect/LRUCache.java b/src/org/linaro/connect/LRUCache.java
index 0623a7c..244ac6b 100644
--- a/src/org/linaro/connect/LRUCache.java
+++ b/src/org/linaro/connect/LRUCache.java
@@ -38,8 +38,16 @@ class LRUCache extends LinkedHashMap<String, File> {
public InputStream getInputStream(String url) throws IOException {
File f = get(url);
- if( f != null )
- return new FileInputStream(f);
+ if( f != null ) {
+ try {
+ return new FileInputStream(f);
+ }
+ catch(IOException e) {
+ remove(url);
+ f.delete();
+ throw e;
+ }
+ }
File cacheFile = toCacheFile(url);
return new CachingInputStream(url, cacheFile);