We have to close the borked patch file before attempting to delete it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2746 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: JNLPDownloader.java,v 1.3 2003/08/05 07:03:34 mdb Exp $
|
// $Id: JNLPDownloader.java,v 1.4 2003/08/08 03:40:46 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.resource;
|
package com.threerings.resource;
|
||||||
|
|
||||||
@@ -23,6 +23,7 @@ import java.net.URLConnection;
|
|||||||
import com.sun.javaws.cache.Patcher;
|
import com.sun.javaws.cache.Patcher;
|
||||||
import com.sun.javaws.jardiff.JarDiffPatcher;
|
import com.sun.javaws.jardiff.JarDiffPatcher;
|
||||||
|
|
||||||
|
import com.samskivert.io.StreamUtil;
|
||||||
import com.samskivert.util.StringUtil;
|
import com.samskivert.util.StringUtil;
|
||||||
|
|
||||||
import com.threerings.resource.DownloadManager.DownloadDescriptor;
|
import com.threerings.resource.DownloadManager.DownloadDescriptor;
|
||||||
@@ -144,10 +145,11 @@ public class JNLPDownloader extends Downloader
|
|||||||
// value);
|
// value);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
JarDiffPatcher patcher = new JarDiffPatcher();
|
|
||||||
|
|
||||||
|
JarDiffPatcher patcher = new JarDiffPatcher();
|
||||||
|
BufferedOutputStream out = null;
|
||||||
try {
|
try {
|
||||||
BufferedOutputStream out = new BufferedOutputStream(
|
out = new BufferedOutputStream(
|
||||||
new FileOutputStream(_desc.destFile));
|
new FileOutputStream(_desc.destFile));
|
||||||
patcher.applyPatch(delegate, oldDest.getPath(),
|
patcher.applyPatch(delegate, oldDest.getPath(),
|
||||||
_patchFile.getPath(), out);
|
_patchFile.getPath(), out);
|
||||||
@@ -156,6 +158,7 @@ public class JNLPDownloader extends Downloader
|
|||||||
} catch (IOException ioe) {
|
} catch (IOException ioe) {
|
||||||
Log.warning("Failure applying patch [rfile=" + _desc.destFile +
|
Log.warning("Failure applying patch [rfile=" + _desc.destFile +
|
||||||
", error=" + ioe + "]. Cleaning up and failing.");
|
", error=" + ioe + "]. Cleaning up and failing.");
|
||||||
|
StreamUtil.close(out);
|
||||||
oldDest.delete();
|
oldDest.delete();
|
||||||
cleanUpAndFail(ioe);
|
cleanUpAndFail(ioe);
|
||||||
}
|
}
|
||||||
@@ -219,12 +222,18 @@ public class JNLPDownloader extends Downloader
|
|||||||
protected void cleanUpAndFail (IOException cause)
|
protected void cleanUpAndFail (IOException cause)
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
_desc.destFile.delete();
|
if (!_desc.destFile.delete()) {
|
||||||
|
Log.warning("Failed to delete " + _desc.destFile +
|
||||||
|
" in cleanUpAndFail().");
|
||||||
|
}
|
||||||
if (_patchFile != null) {
|
if (_patchFile != null) {
|
||||||
_patchFile.delete();
|
_patchFile.delete();
|
||||||
}
|
}
|
||||||
if (_vfile != null) {
|
if (_vfile != null) {
|
||||||
_vfile.delete();
|
if (!_vfile.delete()) {
|
||||||
|
Log.warning("Failed to delete " + _vfile +
|
||||||
|
" in cleanUpAndFail().");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IOException failure = new IOException(
|
IOException failure = new IOException(
|
||||||
|
|||||||
Reference in New Issue
Block a user