From: <fg...@us...> - 2011-04-27 12:28:56
|
Revision: 3429 http://openutils.svn.sourceforge.net/openutils/?rev=3429&view=rev Author: fgiust Date: 2011-04-27 12:28:50 +0000 (Wed, 27 Apr 2011) Log Message: ----------- avoid locks by renaming the dir before deleting Modified Paths: -------------- trunk/openutils-mgnlcache/src/main/java/net/sourceforge/openutils/mgnlsimplecache/filesystem/FSCacheManager.java Modified: trunk/openutils-mgnlcache/src/main/java/net/sourceforge/openutils/mgnlsimplecache/filesystem/FSCacheManager.java =================================================================== --- trunk/openutils-mgnlcache/src/main/java/net/sourceforge/openutils/mgnlsimplecache/filesystem/FSCacheManager.java 2011-04-22 13:18:31 UTC (rev 3428) +++ trunk/openutils-mgnlcache/src/main/java/net/sourceforge/openutils/mgnlsimplecache/filesystem/FSCacheManager.java 2011-04-27 12:28:50 UTC (rev 3429) @@ -452,19 +452,27 @@ try { - // wait that every rw operation finished - for (String key : contents.keySet()) - { - contents.get(key).waitForWritingLock(); - } + final File cacheDir = new File(getCacheDir()); contents.clear(); // remove cache folder - File cacheDir = new File(getCacheDir()); if (cacheDir.exists()) { - cacheDir.delete(); + cacheDir.renameTo(new File(cacheDir.getParentFile(), "deleted." + System.currentTimeMillis())); + + new Thread() + { + + /** + * {@inheritDoc} + */ + @Override + public void run() + { + cacheDir.delete(); + } + }.start(); } } finally This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |