From 94565cfd8876c804122da174280e68a3eb980460 Mon Sep 17 00:00:00 2001 From: Matthew Jason Benson Date: Mon, 16 Feb 2004 17:26:16 +0000 Subject: [PATCH] Accommodate Windows bug encountered in both Sun and IBM JDKs. Obtained from: Java Technology Forums at http://forums.java.sun.com git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@276095 13f79535-47bb-0310-9956-ffa450edef68 --- src/main/org/apache/tools/ant/taskdefs/Delete.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/Delete.java b/src/main/org/apache/tools/ant/taskdefs/Delete.java index 4e99a67ce..1dcdd9e00 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Delete.java +++ b/src/main/org/apache/tools/ant/taskdefs/Delete.java @@ -22,6 +22,7 @@ import java.util.Vector; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.Project; +import org.apache.tools.ant.taskdefs.condition.Os; import org.apache.tools.ant.types.FileSet; import org.apache.tools.ant.types.PatternSet; import org.apache.tools.ant.types.selectors.AndSelector; @@ -535,12 +536,15 @@ public class Delete extends MatchingTask { // protected and private methods //************************************************************************ /** - * Attempt to fix possible race condition when deleting - * files on WinXP. If the delete does not work, + * Accommodate Windows bug encountered in both Sun and IBM JDKs. + * Others possible. If the delete does not work, call System.gc(), * wait a little and try again. */ private boolean delete(File f) { if (!f.delete()) { + if (Os.isFamily("windows")) { + System.gc(); + } try { Thread.sleep(DELETE_RETRY_SLEEP_MILLIS); return f.delete();