X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FCacheLibrary.java;h=a3c3b5e3b7bb6f5a61962e8837158e28692feb56;hb=089e354e5efc0de39caa4df2f3987d573b71dcbc;hp=23f19a9ed323de88cb2202c6cde7462bf53219de;hpb=618d6ffad18f4b91eecf8a1ef43840b65608544a;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/library/CacheLibrary.java b/src/be/nikiroo/fanfix/library/CacheLibrary.java index 23f19a9..a3c3b5e 100644 --- a/src/be/nikiroo/fanfix/library/CacheLibrary.java +++ b/src/be/nikiroo/fanfix/library/CacheLibrary.java @@ -67,6 +67,7 @@ public class CacheLibrary extends BasicLibrary { pg = new Progress(); } + List copy; synchronized (metasLock) { // We make sure that cached metas have precedence if (metasMixed == null) { @@ -86,10 +87,12 @@ public class CacheLibrary extends BasicLibrary { } } } + + copy = new ArrayList(metasMixed); } pg.done(); - return new ArrayList(metasMixed); + return copy; } @Override @@ -326,7 +329,7 @@ public class CacheLibrary extends BasicLibrary { } @Override - public void delete(String luid) throws IOException { + public synchronized void delete(String luid) throws IOException { if (isCached(luid)) { cacheLib.delete(luid); } @@ -404,9 +407,7 @@ public class CacheLibrary extends BasicLibrary { MetaData meta = lib.imprt(url, pgImprt); updateMetaCache(metasReal, meta); - synchronized (metasLock) { - metasMixed = null; - } + metasMixed = null; clearFromCache(meta.getLuid());