diff options
author | John Arthorne | 2009-05-05 22:20:02 +0000 |
---|---|---|
committer | John Arthorne | 2009-05-05 22:20:02 +0000 |
commit | e21f56d665aefe6f0d03ff6b910bfcacd867b54f (patch) | |
tree | 93741427d533c249672f3054566b6d63fe783786 /bundles/org.eclipse.equinox.p2.repository | |
parent | b716f17ce3159f8387f3570e455a108b1206b2ba (diff) | |
download | rt.equinox.p2-e21f56d665aefe6f0d03ff6b910bfcacd867b54f.tar.gz rt.equinox.p2-e21f56d665aefe6f0d03ff6b910bfcacd867b54f.tar.xz rt.equinox.p2-e21f56d665aefe6f0d03ff6b910bfcacd867b54f.zip |
Bug 274844 cancel while waiting on timeout during HEAD request has no effectv20090505-1942
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.repository')
-rw-r--r-- | bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileInfoReader.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileInfoReader.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileInfoReader.java index f2f1a2279..4fe4643c5 100644 --- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileInfoReader.java +++ b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/FileInfoReader.java @@ -38,6 +38,7 @@ public class FileInfoReader extends Job implements IRemoteFileSystemListener { private final IConnectContext connectContext; final Boolean[] barrier = new Boolean[1]; private IRemoteFile[] remoteFiles; + private IRemoteFileSystemRequest browseRequest; /* (non-Javadoc) * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor) @@ -46,7 +47,9 @@ public class FileInfoReader extends Job implements IRemoteFileSystemListener { synchronized (barrier) { while (barrier[0] == null) { try { - barrier.wait(); + barrier.wait(1000); + if (theMonitor.isCanceled() && browseRequest != null) + browseRequest.cancel(); } catch (InterruptedException e) { //ignore } @@ -174,7 +177,7 @@ public class FileInfoReader extends Job implements IRemoteFileSystemListener { try { IFileID fileID = FileIDFactory.getDefault().createFileID(adapter.getBrowseNamespace(), uri.toString()); - adapter.sendBrowseRequest(fileID, this); + browseRequest = adapter.sendBrowseRequest(fileID, this); } catch (RemoteFileSystemException e) { exception = e; } catch (FileCreateException e) { |