flush cached libraries info upon shutdown

This commit is contained in:
Maxim.Mossienko
2014-07-28 14:12:27 +02:00
parent d609d2d788
commit ade2c21273
@@ -22,6 +22,7 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.util.NotNullLazyValue;
import com.intellij.openapi.util.ShutDownTracker;
import com.intellij.openapi.util.io.FileAttributes;
import com.intellij.openapi.util.io.FileSystemUtil;
import com.intellij.openapi.util.io.FileUtil;
@@ -263,9 +264,20 @@ public class JarHandler extends ZipHandler {
FlushingDaemon.everyFiveSeconds(new Runnable() {
@Override
public void run() {
if (ourCachedLibraryInfo.isDirty()) ourCachedLibraryInfo.force();
flushCachedLibraryInfos();
}
});
ShutDownTracker.getInstance().registerShutdownTask(new Runnable() {
@Override
public void run() {
flushCachedLibraryInfos();
}
});
}
private static void flushCachedLibraryInfos() {
if (ourCachedLibraryInfo.isDirty()) ourCachedLibraryInfo.force();
}
private CacheLibraryInfo(@NotNull String path, long time, long length) {